﻿<?xml version="1.0" encoding="utf-8" ?>
<Jass>
  <Natives>
    var boolean false = false
    var boolean true = true
    var boolean FALSE = false
    var boolean TRUE = true
    var integer JASS_MAX_ARRAY_SIZE = 8192
    var integer PLAYER_NEUTRAL_PASSIVE = 15
    var integer PLAYER_NEUTRAL_AGGRESSIVE = 12
    var playercolor PLAYER_COLOR_RED = ConvertPlayerColor(0)
    var playercolor PLAYER_COLOR_BLUE = ConvertPlayerColor(1)
    var playercolor PLAYER_COLOR_CYAN = ConvertPlayerColor(2)
    var playercolor PLAYER_COLOR_PURPLE = ConvertPlayerColor(3)
    var playercolor PLAYER_COLOR_YELLOW = ConvertPlayerColor(4)
    var playercolor PLAYER_COLOR_ORANGE = ConvertPlayerColor(5)
    var playercolor PLAYER_COLOR_GREEN = ConvertPlayerColor(6)
    var playercolor PLAYER_COLOR_PINK = ConvertPlayerColor(7)
    var playercolor PLAYER_COLOR_LIGHT_GRAY = ConvertPlayerColor(8)
    var playercolor PLAYER_COLOR_LIGHT_BLUE = ConvertPlayerColor(9)
    var playercolor PLAYER_COLOR_AQUA = ConvertPlayerColor(10)
    var playercolor PLAYER_COLOR_BROWN = ConvertPlayerColor(11)
    var race RACE_HUMAN = ConvertRace(1)
    var race RACE_ORC = ConvertRace(2)
    var race RACE_UNDEAD = ConvertRace(3)
    var race RACE_NIGHTELF = ConvertRace(4)
    var race RACE_DEMON = ConvertRace(5)
    var race RACE_OTHER = ConvertRace(7)
    var playergameresult PLAYER_GAME_RESULT_VICTORY = ConvertPlayerGameResult(0)
    var playergameresult PLAYER_GAME_RESULT_DEFEAT = ConvertPlayerGameResult(1)
    var playergameresult PLAYER_GAME_RESULT_TIE = ConvertPlayerGameResult(2)
    var playergameresult PLAYER_GAME_RESULT_NEUTRAL = ConvertPlayerGameResult(3)
    var alliancetype ALLIANCE_PASSIVE = ConvertAllianceType(0)
    var alliancetype ALLIANCE_HELP_REQUEST = ConvertAllianceType(1)
    var alliancetype ALLIANCE_HELP_RESPONSE = ConvertAllianceType(2)
    var alliancetype ALLIANCE_SHARED_XP = ConvertAllianceType(3)
    var alliancetype ALLIANCE_SHARED_SPELLS = ConvertAllianceType(4)
    var alliancetype ALLIANCE_SHARED_VISION = ConvertAllianceType(5)
    var alliancetype ALLIANCE_SHARED_CONTROL = ConvertAllianceType(6)
    var alliancetype ALLIANCE_SHARED_ADVANCED_CONTROL = ConvertAllianceType(7)
    var alliancetype ALLIANCE_RESCUABLE = ConvertAllianceType(8)
    var alliancetype ALLIANCE_SHARED_VISION_FORCED = ConvertAllianceType(9)
    var version VERSION_REIGN_OF_CHAOS = ConvertVersion(0)
    var version VERSION_FROZEN_THRONE = ConvertVersion(1)
    var racepreference RACE_PREF_HUMAN = ConvertRacePref(1)
    var racepreference RACE_PREF_ORC = ConvertRacePref(2)
    var racepreference RACE_PREF_NIGHTELF = ConvertRacePref(4)
    var racepreference RACE_PREF_UNDEAD = ConvertRacePref(8)
    var racepreference RACE_PREF_DEMON = ConvertRacePref(16)
    var racepreference RACE_PREF_RANDOM = ConvertRacePref(32)
    var racepreference RACE_PREF_USER_SELECTABLE = ConvertRacePref(64)
    var mapcontrol MAP_CONTROL_USER = ConvertMapControl(0)
    var mapcontrol MAP_CONTROL_COMPUTER = ConvertMapControl(1)
    var mapcontrol MAP_CONTROL_RESCUABLE = ConvertMapControl(2)
    var mapcontrol MAP_CONTROL_NEUTRAL = ConvertMapControl(3)
    var mapcontrol MAP_CONTROL_CREEP = ConvertMapControl(4)
    var mapcontrol MAP_CONTROL_NONE = ConvertMapControl(5)
    var gametype GAME_TYPE_MELEE = ConvertGameType(1)
    var gametype GAME_TYPE_FFA = ConvertGameType(2)
    var gametype GAME_TYPE_USE_MAP_SETTINGS = ConvertGameType(4)
    var gametype GAME_TYPE_BLIZ = ConvertGameType(8)
    var gametype GAME_TYPE_ONE_ON_ONE = ConvertGameType(16)
    var gametype GAME_TYPE_TWO_TEAM_PLAY = ConvertGameType(32)
    var gametype GAME_TYPE_THREE_TEAM_PLAY = ConvertGameType(64)
    var gametype GAME_TYPE_FOUR_TEAM_PLAY = ConvertGameType(128)
    var mapflag MAP_FOG_HIDE_TERRAIN = ConvertMapFlag(1)
    var mapflag MAP_FOG_MAP_EXPLORED = ConvertMapFlag(2)
    var mapflag MAP_FOG_ALWAYS_VISIBLE = ConvertMapFlag(4)
    var mapflag MAP_USE_HANDICAPS = ConvertMapFlag(8)
    var mapflag MAP_OBSERVERS = ConvertMapFlag(16)
    var mapflag MAP_OBSERVERS_ON_DEATH = ConvertMapFlag(32)
    var mapflag MAP_FIXED_COLORS = ConvertMapFlag(128)
    var mapflag MAP_LOCK_RESOURCE_TRADING = ConvertMapFlag(256)
    var mapflag MAP_RESOURCE_TRADING_ALLIES_ONLY = ConvertMapFlag(512)
    var mapflag MAP_LOCK_ALLIANCE_CHANGES = ConvertMapFlag(1024)
    var mapflag MAP_ALLIANCE_CHANGES_HIDDEN = ConvertMapFlag(2048)
    var mapflag MAP_CHEATS = ConvertMapFlag(4096)
    var mapflag MAP_CHEATS_HIDDEN = ConvertMapFlag(8192)
    var mapflag MAP_LOCK_SPEED = ConvertMapFlag(8192*2)
    var mapflag MAP_LOCK_RANDOM_SEED = ConvertMapFlag(8192*4)
    var mapflag MAP_SHARED_ADVANCED_CONTROL = ConvertMapFlag(8192*8)
    var mapflag MAP_RANDOM_HERO = ConvertMapFlag(8192*16)
    var mapflag MAP_RANDOM_RACES = ConvertMapFlag(8192*32)
    var mapflag MAP_RELOADED = ConvertMapFlag(8192*64)
    var placement MAP_PLACEMENT_RANDOM = ConvertPlacement(0)
    var placement MAP_PLACEMENT_FIXED = ConvertPlacement(1)
    var placement MAP_PLACEMENT_USE_MAP_SETTINGS = ConvertPlacement(2)
    var placement MAP_PLACEMENT_TEAMS_TOGETHER = ConvertPlacement(3)
    var startlocprio MAP_LOC_PRIO_LOW = ConvertStartLocPrio(0)
    var startlocprio MAP_LOC_PRIO_HIGH = ConvertStartLocPrio(1)
    var startlocprio MAP_LOC_PRIO_NOT = ConvertStartLocPrio(2)
    var mapdensity MAP_DENSITY_NONE = ConvertMapDensity(0)
    var mapdensity MAP_DENSITY_LIGHT = ConvertMapDensity(1)
    var mapdensity MAP_DENSITY_MEDIUM = ConvertMapDensity(2)
    var mapdensity MAP_DENSITY_HEAVY = ConvertMapDensity(3)
    var gamedifficulty MAP_DIFFICULTY_EASY = ConvertGameDifficulty(0)
    var gamedifficulty MAP_DIFFICULTY_NORMAL = ConvertGameDifficulty(1)
    var gamedifficulty MAP_DIFFICULTY_HARD = ConvertGameDifficulty(2)
    var gamedifficulty MAP_DIFFICULTY_INSANE = ConvertGameDifficulty(3)
    var gamespeed MAP_SPEED_SLOWEST = ConvertGameSpeed(0)
    var gamespeed MAP_SPEED_SLOW = ConvertGameSpeed(1)
    var gamespeed MAP_SPEED_NORMAL = ConvertGameSpeed(2)
    var gamespeed MAP_SPEED_FAST = ConvertGameSpeed(3)
    var gamespeed MAP_SPEED_FASTEST = ConvertGameSpeed(4)
    var playerslotstate PLAYER_SLOT_STATE_EMPTY = ConvertPlayerSlotState(0)
    var playerslotstate PLAYER_SLOT_STATE_PLAYING = ConvertPlayerSlotState(1)
    var playerslotstate PLAYER_SLOT_STATE_LEFT = ConvertPlayerSlotState(2)
    var volumegroup SOUND_VOLUMEGROUP_UNITMOVEMENT = ConvertVolumeGroup(0)
    var volumegroup SOUND_VOLUMEGROUP_UNITSOUNDS = ConvertVolumeGroup(1)
    var volumegroup SOUND_VOLUMEGROUP_COMBAT = ConvertVolumeGroup(2)
    var volumegroup SOUND_VOLUMEGROUP_SPELLS = ConvertVolumeGroup(3)
    var volumegroup SOUND_VOLUMEGROUP_UI = ConvertVolumeGroup(4)
    var volumegroup SOUND_VOLUMEGROUP_MUSIC = ConvertVolumeGroup(5)
    var volumegroup SOUND_VOLUMEGROUP_AMBIENTSOUNDS = ConvertVolumeGroup(6)
    var volumegroup SOUND_VOLUMEGROUP_FIRE = ConvertVolumeGroup(7)
    var igamestate GAME_STATE_DIVINE_INTERVENTION = ConvertIGameState(0)
    var igamestate GAME_STATE_DISCONNECTED = ConvertIGameState(1)
    var fgamestate GAME_STATE_TIME_OF_DAY = ConvertFGameState(2)
    var playerstate PLAYER_STATE_GAME_RESULT = ConvertPlayerState(0)
    var playerstate PLAYER_STATE_RESOURCE_GOLD = ConvertPlayerState(1)
    var playerstate PLAYER_STATE_RESOURCE_LUMBER = ConvertPlayerState(2)
    var playerstate PLAYER_STATE_RESOURCE_HERO_TOKENS = ConvertPlayerState(3)
    var playerstate PLAYER_STATE_RESOURCE_FOOD_CAP = ConvertPlayerState(4)
    var playerstate PLAYER_STATE_RESOURCE_FOOD_USED = ConvertPlayerState(5)
    var playerstate PLAYER_STATE_FOOD_CAP_CEILING = ConvertPlayerState(6)
    var playerstate PLAYER_STATE_GIVES_BOUNTY = ConvertPlayerState(7)
    var playerstate PLAYER_STATE_ALLIED_VICTORY = ConvertPlayerState(8)
    var playerstate PLAYER_STATE_PLACED = ConvertPlayerState(9)
    var playerstate PLAYER_STATE_OBSERVER_ON_DEATH = ConvertPlayerState(10)
    var playerstate PLAYER_STATE_OBSERVER = ConvertPlayerState(11)
    var playerstate PLAYER_STATE_UNFOLLOWABLE = ConvertPlayerState(12)
    var playerstate PLAYER_STATE_GOLD_UPKEEP_RATE = ConvertPlayerState(13)
    var playerstate PLAYER_STATE_LUMBER_UPKEEP_RATE = ConvertPlayerState(14)
    var playerstate PLAYER_STATE_GOLD_GATHERED = ConvertPlayerState(15)
    var playerstate PLAYER_STATE_LUMBER_GATHERED = ConvertPlayerState(16)
    var playerstate PLAYER_STATE_NO_CREEP_SLEEP = ConvertPlayerState(25)
    var unitstate UNIT_STATE_LIFE = ConvertUnitState(0)
    var unitstate UNIT_STATE_MAX_LIFE = ConvertUnitState(1)
    var unitstate UNIT_STATE_MANA = ConvertUnitState(2)
    var unitstate UNIT_STATE_MAX_MANA = ConvertUnitState(3)
    var aidifficulty AI_DIFFICULTY_NEWBIE = ConvertAIDifficulty(0)
    var aidifficulty AI_DIFFICULTY_NORMAL = ConvertAIDifficulty(1)
    var aidifficulty AI_DIFFICULTY_INSANE = ConvertAIDifficulty(2)
    var gameevent EVENT_GAME_VICTORY = ConvertGameEvent(0)
    var gameevent EVENT_GAME_END_LEVEL = ConvertGameEvent(1)
    var gameevent EVENT_GAME_VARIABLE_LIMIT = ConvertGameEvent(2)
    var gameevent EVENT_GAME_STATE_LIMIT = ConvertGameEvent(3)
    var gameevent EVENT_GAME_TIMER_EXPIRED = ConvertGameEvent(4)
    var gameevent EVENT_GAME_ENTER_REGION = ConvertGameEvent(5)
    var gameevent EVENT_GAME_LEAVE_REGION = ConvertGameEvent(6)
    var gameevent EVENT_GAME_TRACKABLE_HIT = ConvertGameEvent(7)
    var gameevent EVENT_GAME_TRACKABLE_TRACK = ConvertGameEvent(8)
    var gameevent EVENT_GAME_SHOW_SKILL = ConvertGameEvent(9)
    var gameevent EVENT_GAME_BUILD_SUBMENU = ConvertGameEvent(10)
    var playerevent EVENT_PLAYER_STATE_LIMIT = ConvertPlayerEvent(11)
    var playerevent EVENT_PLAYER_ALLIANCE_CHANGED = ConvertPlayerEvent(12)
    var playerevent EVENT_PLAYER_DEFEAT = ConvertPlayerEvent(13)
    var playerevent EVENT_PLAYER_VICTORY = ConvertPlayerEvent(14)
    var playerevent EVENT_PLAYER_LEAVE = ConvertPlayerEvent(15)
    var playerevent EVENT_PLAYER_CHAT = ConvertPlayerEvent(16)
    var playerevent EVENT_PLAYER_END_CINEMATIC = ConvertPlayerEvent(17)
    var playerunitevent EVENT_PLAYER_UNIT_ATTACKED = ConvertPlayerUnitEvent(18)
    var playerunitevent EVENT_PLAYER_UNIT_RESCUED = ConvertPlayerUnitEvent(19)
    var playerunitevent EVENT_PLAYER_UNIT_DEATH = ConvertPlayerUnitEvent(20)
    var playerunitevent EVENT_PLAYER_UNIT_DECAY = ConvertPlayerUnitEvent(21)
    var playerunitevent EVENT_PLAYER_UNIT_DETECTED = ConvertPlayerUnitEvent(22)
    var playerunitevent EVENT_PLAYER_UNIT_HIDDEN = ConvertPlayerUnitEvent(23)
    var playerunitevent EVENT_PLAYER_UNIT_SELECTED = ConvertPlayerUnitEvent(24)
    var playerunitevent EVENT_PLAYER_UNIT_DESELECTED = ConvertPlayerUnitEvent(25)
    var playerunitevent EVENT_PLAYER_UNIT_CONSTRUCT_START = ConvertPlayerUnitEvent(26)
    var playerunitevent EVENT_PLAYER_UNIT_CONSTRUCT_CANCEL = ConvertPlayerUnitEvent(27)
    var playerunitevent EVENT_PLAYER_UNIT_CONSTRUCT_FINISH = ConvertPlayerUnitEvent(28)
    var playerunitevent EVENT_PLAYER_UNIT_UPGRADE_START = ConvertPlayerUnitEvent(29)
    var playerunitevent EVENT_PLAYER_UNIT_UPGRADE_CANCEL = ConvertPlayerUnitEvent(30)
    var playerunitevent EVENT_PLAYER_UNIT_UPGRADE_FINISH = ConvertPlayerUnitEvent(31)
    var playerunitevent EVENT_PLAYER_UNIT_TRAIN_START = ConvertPlayerUnitEvent(32)
    var playerunitevent EVENT_PLAYER_UNIT_TRAIN_CANCEL = ConvertPlayerUnitEvent(33)
    var playerunitevent EVENT_PLAYER_UNIT_TRAIN_FINISH = ConvertPlayerUnitEvent(34)
    var playerunitevent EVENT_PLAYER_UNIT_RESEARCH_START = ConvertPlayerUnitEvent(35)
    var playerunitevent EVENT_PLAYER_UNIT_RESEARCH_CANCEL = ConvertPlayerUnitEvent(36)
    var playerunitevent EVENT_PLAYER_UNIT_RESEARCH_FINISH = ConvertPlayerUnitEvent(37)
    var playerunitevent EVENT_PLAYER_UNIT_ISSUED_ORDER = ConvertPlayerUnitEvent(38)
    var playerunitevent EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER = ConvertPlayerUnitEvent(39)
    var playerunitevent EVENT_PLAYER_UNIT_ISSUED_TARGET_ORDER = ConvertPlayerUnitEvent(40)
    var playerunitevent EVENT_PLAYER_UNIT_ISSUED_UNIT_ORDER = ConvertPlayerUnitEvent(40)
    var playerunitevent EVENT_PLAYER_HERO_LEVEL = ConvertPlayerUnitEvent(41)
    var playerunitevent EVENT_PLAYER_HERO_SKILL = ConvertPlayerUnitEvent(42)
    var playerunitevent EVENT_PLAYER_HERO_REVIVABLE = ConvertPlayerUnitEvent(43)
    var playerunitevent EVENT_PLAYER_HERO_REVIVE_START = ConvertPlayerUnitEvent(44)
    var playerunitevent EVENT_PLAYER_HERO_REVIVE_CANCEL = ConvertPlayerUnitEvent(45)
    var playerunitevent EVENT_PLAYER_HERO_REVIVE_FINISH = ConvertPlayerUnitEvent(46)
    var playerunitevent EVENT_PLAYER_UNIT_SUMMON = ConvertPlayerUnitEvent(47)
    var playerunitevent EVENT_PLAYER_UNIT_DROP_ITEM = ConvertPlayerUnitEvent(48)
    var playerunitevent EVENT_PLAYER_UNIT_PICKUP_ITEM = ConvertPlayerUnitEvent(49)
    var playerunitevent EVENT_PLAYER_UNIT_USE_ITEM = ConvertPlayerUnitEvent(50)
    var playerunitevent EVENT_PLAYER_UNIT_LOADED = ConvertPlayerUnitEvent(51)
    var unitevent EVENT_UNIT_DAMAGED = ConvertUnitEvent(52)
    var unitevent EVENT_UNIT_DEATH = ConvertUnitEvent(53)
    var unitevent EVENT_UNIT_DECAY = ConvertUnitEvent(54)
    var unitevent EVENT_UNIT_DETECTED = ConvertUnitEvent(55)
    var unitevent EVENT_UNIT_HIDDEN = ConvertUnitEvent(56)
    var unitevent EVENT_UNIT_SELECTED = ConvertUnitEvent(57)
    var unitevent EVENT_UNIT_DESELECTED = ConvertUnitEvent(58)
    var unitevent EVENT_UNIT_STATE_LIMIT = ConvertUnitEvent(59)
    var unitevent EVENT_UNIT_ACQUIRED_TARGET = ConvertUnitEvent(60)
    var unitevent EVENT_UNIT_TARGET_IN_RANGE = ConvertUnitEvent(61)
    var unitevent EVENT_UNIT_ATTACKED = ConvertUnitEvent(62)
    var unitevent EVENT_UNIT_RESCUED = ConvertUnitEvent(63)
    var unitevent EVENT_UNIT_CONSTRUCT_CANCEL = ConvertUnitEvent(64)
    var unitevent EVENT_UNIT_CONSTRUCT_FINISH = ConvertUnitEvent(65)
    var unitevent EVENT_UNIT_UPGRADE_START = ConvertUnitEvent(66)
    var unitevent EVENT_UNIT_UPGRADE_CANCEL = ConvertUnitEvent(67)
    var unitevent EVENT_UNIT_UPGRADE_FINISH = ConvertUnitEvent(68)
    var unitevent EVENT_UNIT_TRAIN_START = ConvertUnitEvent(69)
    var unitevent EVENT_UNIT_TRAIN_CANCEL = ConvertUnitEvent(70)
    var unitevent EVENT_UNIT_TRAIN_FINISH = ConvertUnitEvent(71)
    var unitevent EVENT_UNIT_RESEARCH_START = ConvertUnitEvent(72)
    var unitevent EVENT_UNIT_RESEARCH_CANCEL = ConvertUnitEvent(73)
    var unitevent EVENT_UNIT_RESEARCH_FINISH = ConvertUnitEvent(74)
    var unitevent EVENT_UNIT_ISSUED_ORDER = ConvertUnitEvent(75)
    var unitevent EVENT_UNIT_ISSUED_POINT_ORDER = ConvertUnitEvent(76)
    var unitevent EVENT_UNIT_ISSUED_TARGET_ORDER = ConvertUnitEvent(77)
    var unitevent EVENT_UNIT_HERO_LEVEL = ConvertUnitEvent(78)
    var unitevent EVENT_UNIT_HERO_SKILL = ConvertUnitEvent(79)
    var unitevent EVENT_UNIT_HERO_REVIVABLE = ConvertUnitEvent(80)
    var unitevent EVENT_UNIT_HERO_REVIVE_START = ConvertUnitEvent(81)
    var unitevent EVENT_UNIT_HERO_REVIVE_CANCEL = ConvertUnitEvent(82)
    var unitevent EVENT_UNIT_HERO_REVIVE_FINISH = ConvertUnitEvent(83)
    var unitevent EVENT_UNIT_SUMMON = ConvertUnitEvent(84)
    var unitevent EVENT_UNIT_DROP_ITEM = ConvertUnitEvent(85)
    var unitevent EVENT_UNIT_PICKUP_ITEM = ConvertUnitEvent(86)
    var unitevent EVENT_UNIT_USE_ITEM = ConvertUnitEvent(87)
    var unitevent EVENT_UNIT_LOADED = ConvertUnitEvent(88)
    var widgetevent EVENT_WIDGET_DEATH = ConvertWidgetEvent(89)
    var dialogevent EVENT_DIALOG_BUTTON_CLICK = ConvertDialogEvent(90)
    var dialogevent EVENT_DIALOG_CLICK = ConvertDialogEvent(91)
    var gameevent EVENT_GAME_LOADED = ConvertGameEvent(256)
    var gameevent EVENT_GAME_TOURNAMENT_FINISH_SOON = ConvertGameEvent(257)
    var gameevent EVENT_GAME_TOURNAMENT_FINISH_NOW = ConvertGameEvent(258)
    var gameevent EVENT_GAME_SAVE = ConvertGameEvent(259)
    var playerevent EVENT_PLAYER_ARROW_LEFT_DOWN = ConvertPlayerEvent(261)
    var playerevent EVENT_PLAYER_ARROW_LEFT_UP = ConvertPlayerEvent(262)
    var playerevent EVENT_PLAYER_ARROW_RIGHT_DOWN = ConvertPlayerEvent(263)
    var playerevent EVENT_PLAYER_ARROW_RIGHT_UP = ConvertPlayerEvent(264)
    var playerevent EVENT_PLAYER_ARROW_DOWN_DOWN = ConvertPlayerEvent(265)
    var playerevent EVENT_PLAYER_ARROW_DOWN_UP = ConvertPlayerEvent(266)
    var playerevent EVENT_PLAYER_ARROW_UP_DOWN = ConvertPlayerEvent(267)
    var playerevent EVENT_PLAYER_ARROW_UP_UP = ConvertPlayerEvent(268)
    var playerunitevent EVENT_PLAYER_UNIT_SELL = ConvertPlayerUnitEvent(269)
    var playerunitevent EVENT_PLAYER_UNIT_CHANGE_OWNER = ConvertPlayerUnitEvent(270)
    var playerunitevent EVENT_PLAYER_UNIT_SELL_ITEM = ConvertPlayerUnitEvent(271)
    var playerunitevent EVENT_PLAYER_UNIT_SPELL_CHANNEL = ConvertPlayerUnitEvent(272)
    var playerunitevent EVENT_PLAYER_UNIT_SPELL_CAST = ConvertPlayerUnitEvent(273)
    var playerunitevent EVENT_PLAYER_UNIT_SPELL_EFFECT = ConvertPlayerUnitEvent(274)
    var playerunitevent EVENT_PLAYER_UNIT_SPELL_FINISH = ConvertPlayerUnitEvent(275)
    var playerunitevent EVENT_PLAYER_UNIT_SPELL_ENDCAST = ConvertPlayerUnitEvent(276)
    var unitevent EVENT_UNIT_SELL = ConvertUnitEvent(286)
    var unitevent EVENT_UNIT_CHANGE_OWNER = ConvertUnitEvent(287)
    var unitevent EVENT_UNIT_SELL_ITEM = ConvertUnitEvent(288)
    var unitevent EVENT_UNIT_SPELL_CHANNEL = ConvertUnitEvent(289)
    var unitevent EVENT_UNIT_SPELL_CAST = ConvertUnitEvent(290)
    var unitevent EVENT_UNIT_SPELL_EFFECT = ConvertUnitEvent(291)
    var unitevent EVENT_UNIT_SPELL_FINISH = ConvertUnitEvent(292)
    var unitevent EVENT_UNIT_SPELL_ENDCAST = ConvertUnitEvent(293)
    var limitop LESS_THAN = ConvertLimitOp(0)
    var limitop LESS_THAN_OR_EQUAL = ConvertLimitOp(1)
    var limitop EQUAL = ConvertLimitOp(2)
    var limitop GREATER_THAN_OR_EQUAL = ConvertLimitOp(3)
    var limitop GREATER_THAN = ConvertLimitOp(4)
    var limitop NOT_EQUAL = ConvertLimitOp(5)
    var unittype UNIT_TYPE_HERO = ConvertUnitType(0)
    var unittype UNIT_TYPE_DEAD = ConvertUnitType(1)
    var unittype UNIT_TYPE_STRUCTURE = ConvertUnitType(2)
    var unittype UNIT_TYPE_FLYING = ConvertUnitType(3)
    var unittype UNIT_TYPE_GROUND = ConvertUnitType(4)
    var unittype UNIT_TYPE_ATTACKS_FLYING = ConvertUnitType(5)
    var unittype UNIT_TYPE_ATTACKS_GROUND = ConvertUnitType(6)
    var unittype UNIT_TYPE_MELEE_ATTACKER = ConvertUnitType(7)
    var unittype UNIT_TYPE_RANGED_ATTACKER = ConvertUnitType(8)
    var unittype UNIT_TYPE_GIANT = ConvertUnitType(9)
    var unittype UNIT_TYPE_SUMMONED = ConvertUnitType(10)
    var unittype UNIT_TYPE_STUNNED = ConvertUnitType(11)
    var unittype UNIT_TYPE_PLAGUED = ConvertUnitType(12)
    var unittype UNIT_TYPE_SNARED = ConvertUnitType(13)
    var unittype UNIT_TYPE_UNDEAD = ConvertUnitType(14)
    var unittype UNIT_TYPE_MECHANICAL = ConvertUnitType(15)
    var unittype UNIT_TYPE_PEON = ConvertUnitType(16)
    var unittype UNIT_TYPE_SAPPER = ConvertUnitType(17)
    var unittype UNIT_TYPE_TOWNHALL = ConvertUnitType(18)
    var unittype UNIT_TYPE_ANCIENT = ConvertUnitType(19)
    var itemtype ITEM_TYPE_PERMANENT = ConvertItemType(0)
    var itemtype ITEM_TYPE_CHARGED = ConvertItemType(1)
    var itemtype ITEM_TYPE_POWERUP = ConvertItemType(2)
    var itemtype ITEM_TYPE_ARTIFACT = ConvertItemType(3)
    var itemtype ITEM_TYPE_PURCHASABLE = ConvertItemType(4)
    var itemtype ITEM_TYPE_CAMPAIGN = ConvertItemType(5)
    var itemtype ITEM_TYPE_MISCELLANEOUS = ConvertItemType(6)
    var itemtype ITEM_TYPE_UNKNOWN = ConvertItemType(7)
    var itemtype ITEM_TYPE_ANY = ConvertItemType(8)
    var itemtype ITEM_TYPE_TOME = ConvertItemType(2)
    var camerafield CAMERA_FIELD_TARGET_DISTANCE = ConvertCameraField(0)
    var camerafield CAMERA_FIELD_FARZ = ConvertCameraField(1)
    var camerafield CAMERA_FIELD_ANGLE_OF_ATTACK = ConvertCameraField(2)
    var camerafield CAMERA_FIELD_FIELD_OF_VIEW = ConvertCameraField(3)
    var camerafield CAMERA_FIELD_ROLL = ConvertCameraField(4)
    var camerafield CAMERA_FIELD_ROTATION = ConvertCameraField(5)
    var camerafield CAMERA_FIELD_ZOFFSET = ConvertCameraField(6)
    var blendmode BLEND_MODE_NONE = ConvertBlendMode(0)
    var blendmode BLEND_MODE_DONT_CARE = ConvertBlendMode(0)
    var blendmode BLEND_MODE_KEYALPHA = ConvertBlendMode(1)
    var blendmode BLEND_MODE_BLEND = ConvertBlendMode(2)
    var blendmode BLEND_MODE_ADDITIVE = ConvertBlendMode(3)
    var blendmode BLEND_MODE_MODULATE = ConvertBlendMode(4)
    var blendmode BLEND_MODE_MODULATE_2X = ConvertBlendMode(5)
    var raritycontrol RARITY_FREQUENT = ConvertRarityControl(0)
    var raritycontrol RARITY_RARE = ConvertRarityControl(1)
    var texmapflags TEXMAP_FLAG_NONE = ConvertTexMapFlags(0)
    var texmapflags TEXMAP_FLAG_WRAP_U = ConvertTexMapFlags(1)
    var texmapflags TEXMAP_FLAG_WRAP_V = ConvertTexMapFlags(2)
    var texmapflags TEXMAP_FLAG_WRAP_UV = ConvertTexMapFlags(3)
    var fogstate FOG_OF_WAR_MASKED = ConvertFogState(1)
    var fogstate FOG_OF_WAR_FOGGED = ConvertFogState(2)
    var fogstate FOG_OF_WAR_VISIBLE = ConvertFogState(4)
    var integer CAMERA_MARGIN_LEFT = 0
    var integer CAMERA_MARGIN_RIGHT = 1
    var integer CAMERA_MARGIN_TOP = 2
    var integer CAMERA_MARGIN_BOTTOM = 3
    var effecttype EFFECT_TYPE_EFFECT = ConvertEffectType(0)
    var effecttype EFFECT_TYPE_TARGET = ConvertEffectType(1)
    var effecttype EFFECT_TYPE_CASTER = ConvertEffectType(2)
    var effecttype EFFECT_TYPE_SPECIAL = ConvertEffectType(3)
    native ConvertRace(integer i) race
    native ConvertAllianceType(integer i) alliancetype
    native ConvertRacePref(integer i) racepreference
    native ConvertIGameState(integer i) igamestate
    native ConvertFGameState(integer i) fgamestate
    native ConvertPlayerState(integer i) playerstate
    native ConvertPlayerGameResult(integer i) playergameresult
    native ConvertUnitState(integer i) unitstate
    native ConvertAIDifficulty(integer i) aidifficulty
    native ConvertGameEvent(integer i) gameevent
    native ConvertPlayerEvent(integer i) playerevent
    native ConvertPlayerUnitEvent(integer i) playerunitevent
    native ConvertWidgetEvent(integer i) widgetevent
    native ConvertDialogEvent(integer i) dialogevent
    native ConvertUnitEvent(integer i) unitevent
    native ConvertLimitOp(integer i) limitop
    native ConvertUnitType(integer i) unittype
    native ConvertGameSpeed(integer i) gamespeed
    native ConvertPlacement(integer i) placement
    native ConvertStartLocPrio(integer i) startlocprio
    native ConvertGameDifficulty(integer i) gamedifficulty
    native ConvertGameType(integer i) gametype
    native ConvertMapFlag(integer i) mapflag
    native ConvertMapVisibility(integer i) mapvisibility
    native ConvertMapSetting(integer i) mapsetting
    native ConvertMapDensity(integer i) mapdensity
    native ConvertMapControl(integer i) mapcontrol
    native ConvertPlayerColor(integer i) playercolor
    native ConvertPlayerSlotState(integer i) playerslotstate
    native ConvertVolumeGroup(integer i) volumegroup
    native ConvertCameraField(integer i) camerafield
    native ConvertBlendMode(integer i) blendmode
    native ConvertRarityControl(integer i) raritycontrol
    native ConvertTexMapFlags(integer i) texmapflags
    native ConvertFogState(integer i) fogstate
    native ConvertEffectType(integer i) effecttype
    native ConvertVersion(integer i) version
    native ConvertItemType(integer i) itemtype
    native OrderId(string  orderIdString) integer
    native OrderId2String(integer orderId) string
    native UnitId(string  unitIdString) integer
    native UnitId2String(integer unitId) string
    native AbilityId(string  abilityIdString) integer
    native AbilityId2String(integer abilityId) string
    native Deg2Rad(real degrees) real
    native Rad2Deg(real radians) real
    native Sin(real radians) real
    native Cos(real radians) real
    native Tan(real radians) real
    native Asin(real y) real
    native Acos(real x) real
    native Atan(real x) real
    native Atan2(real y, real x) real
    native SquareRoot(real x) real
    native Pow(real x, real power) real
    native I2R(integer i) real
    native R2I(real r) integer
    native I2S(integer i) string
    native R2S(real r) string
    native R2SW(real r, integer width, integer precision) string
    native S2I(string s) integer
    native S2R(string s) real
    native SubString(string source, integer start, integer end) string
    native GetLocalizedString(string source) string
    native GetLocalizedHotkey(string source) integer
    native SetMapName(string name) nothing
    native SetMapDescription(string description) nothing
    native SetTeams(integer teamcount) nothing
    native SetPlayers(integer playercount) nothing
    native DefineStartLocation(integer whichStartLoc, real x, real y) nothing
    native DefineStartLocationLoc(integer whichStartLoc, location whichLocation) nothing
    native SetStartLocPrioCount(integer whichStartLoc, integer prioSlotCount) nothing
    native SetStartLocPrio(integer whichStartLoc, integer prioSlotIndex, integer otherStartLocIndex, startlocprio priority) nothing
    native GetStartLocPrioSlot(integer whichStartLoc, integer prioSlotIndex) integer
    native GetStartLocPrio(integer whichStartLoc, integer prioSlotIndex) startlocprio
    native SetGameTypeSupported(gametype whichGameType, boolean value) nothing
    native SetMapFlag(mapflag whichMapFlag, boolean value) nothing
    native SetGamePlacement(placement whichPlacementType) nothing
    native SetGameSpeed(gamespeed whichspeed) nothing
    native SetGameDifficulty(gamedifficulty whichdifficulty) nothing
    native SetResourceDensity(mapdensity whichdensity) nothing
    native SetCreatureDensity(mapdensity whichdensity) nothing
    native GetTeams(nothing) integer
    native GetPlayers(nothing) integer
    native IsGameTypeSupported(gametype whichGameType) boolean
    native GetGameTypeSelected(nothing) gametype
    native IsMapFlagSet(mapflag whichMapFlag) boolean
    native GetGamePlacement(nothing) placement
    native GetGameSpeed(nothing) gamespeed
    native GetGameDifficulty(nothing) gamedifficulty
    native GetResourceDensity(nothing) mapdensity
    native GetCreatureDensity(nothing) mapdensity
    native GetStartLocationX(integer whichStartLocation) real
    native GetStartLocationY(integer whichStartLocation) real
    native GetStartLocationLoc(integer whichStartLocation) location
    native SetPlayerTeam(player whichPlayer, integer whichTeam) nothing
    native SetPlayerStartLocation(player whichPlayer, integer startLocIndex) nothing
    native ForcePlayerStartLocation(player whichPlayer, integer startLocIndex) nothing
    native SetPlayerColor(player whichPlayer, playercolor color) nothing
    native SetPlayerAlliance(player sourcePlayer, player otherPlayer, alliancetype whichAllianceSetting, boolean value) nothing
    native SetPlayerTaxRate(player sourcePlayer, player otherPlayer, playerstate whichResource, integer rate) nothing
    native SetPlayerRacePreference(player whichPlayer, racepreference whichRacePreference) nothing
    native SetPlayerRaceSelectable(player whichPlayer, boolean value) nothing
    native SetPlayerController(player whichPlayer, mapcontrol controlType) nothing
    native SetPlayerName(player whichPlayer, string name) nothing
    native SetPlayerOnScoreScreen(player whichPlayer, boolean flag) nothing
    native GetPlayerTeam(player whichPlayer) integer
    native GetPlayerStartLocation(player whichPlayer) integer
    native GetPlayerColor(player whichPlayer) playercolor
    native GetPlayerSelectable(player whichPlayer) boolean
    native GetPlayerController(player whichPlayer) mapcontrol
    native GetPlayerSlotState(player whichPlayer) playerslotstate
    native GetPlayerTaxRate(player sourcePlayer, player otherPlayer, playerstate whichResource) integer
    native IsPlayerRacePrefSet(player whichPlayer, racepreference pref) boolean
    native GetPlayerName(player whichPlayer) string
    native CreateTimer(nothing) timer
    native DestroyTimer(timer whichTimer) nothing
    native TimerStart(timer whichTimer, real timeout, boolean periodic, code handlerFunc) nothing
    native TimerGetElapsed(timer whichTimer) real
    native TimerGetRemaining(timer whichTimer) real
    native TimerGetTimeout(timer whichTimer) real
    native PauseTimer(timer whichTimer) nothing
    native ResumeTimer(timer whichTimer) nothing
    native GetExpiredTimer(nothing) timer
    native CreateGroup(nothing) group
    native DestroyGroup(group whichGroup) nothing
    native GroupAddUnit(group whichGroup, unit whichUnit) nothing
    native GroupRemoveUnit(group whichGroup, unit whichUnit) nothing
    native GroupClear(group whichGroup) nothing
    native GroupEnumUnitsOfType(group whichGroup, string unitname, boolexpr filter) nothing
    native GroupEnumUnitsOfPlayer(group whichGroup, player whichPlayer, boolexpr filter) nothing
    native GroupEnumUnitsOfTypeCounted(group whichGroup, string unitname, boolexpr filter, integer countLimit) nothing
    native GroupEnumUnitsInRect(group whichGroup, rect r, boolexpr filter) nothing
    native GroupEnumUnitsInRectCounted(group whichGroup, rect r, boolexpr filter, integer countLimit) nothing
    native GroupEnumUnitsInRange(group whichGroup, real x, real y, real radius, boolexpr filter) nothing
    native GroupEnumUnitsInRangeOfLoc(group whichGroup, location whichLocation, real radius, boolexpr filter) nothing
    native GroupEnumUnitsInRangeCounted(group whichGroup, real x, real y, real radius, boolexpr filter, integer countLimit) nothing
    native GroupEnumUnitsInRangeOfLocCounted(group whichGroup, location whichLocation, real radius, boolexpr filter, integer countLimit) nothing
    native GroupEnumUnitsSelected(group whichGroup, player whichPlayer, boolexpr filter) nothing
    native GroupImmediateOrder(group whichGroup, string order) boolean
    native GroupImmediateOrderById(group whichGroup, integer order) boolean
    native GroupPointOrder(group whichGroup, string order, real x, real y) boolean
    native GroupPointOrderLoc(group whichGroup, string order, location whichLocation) boolean
    native GroupPointOrderById(group whichGroup, integer order, real x, real y) boolean
    native GroupPointOrderByIdLoc(group whichGroup, integer order, location whichLocation) boolean
    native GroupTargetOrder(group whichGroup, string order, widget targetWidget) boolean
    native GroupTargetOrderById(group whichGroup, integer order, widget targetWidget) boolean
    native ForGroup(group whichGroup, code callback) nothing
    native FirstOfGroup(group whichGroup) unit
    native CreateForce(nothing) force
    native DestroyForce(force whichForce) nothing
    native ForceAddPlayer(force whichForce, player whichPlayer) nothing
    native ForceRemovePlayer(force whichForce, player whichPlayer) nothing
    native ForceClear(force whichForce) nothing
    native ForceEnumPlayers(force whichForce, boolexpr filter) nothing
    native ForceEnumPlayersCounted(force whichForce, boolexpr filter, integer countLimit) nothing
    native ForceEnumAllies(force whichForce, player whichPlayer, boolexpr filter) nothing
    native ForceEnumEnemies(force whichForce, player whichPlayer, boolexpr filter) nothing
    native ForForce(force whichForce, code callback) nothing
    native Rect(real minx, real miny, real maxx, real maxy) rect
    native RectFromLoc(location min, location max) rect
    native RemoveRect(rect whichRect) nothing
    native SetRect(rect whichRect, real minx, real miny, real maxx, real maxy) nothing
    native SetRectFromLoc(rect whichRect, location min, location max) nothing
    native MoveRectTo(rect whichRect, real newCenterX, real newCenterY) nothing
    native MoveRectToLoc(rect whichRect, location newCenterLoc) nothing
    native GetRectCenterX(rect whichRect) real
    native GetRectCenterY(rect whichRect) real
    native GetRectMinX(rect whichRect) real
    native GetRectMinY(rect whichRect) real
    native GetRectMaxX(rect whichRect) real
    native GetRectMaxY(rect whichRect) real
    native CreateRegion(nothing) region
    native RemoveRegion(region whichRegion) nothing
    native RegionAddRect(region whichRegion, rect r) nothing
    native RegionClearRect(region whichRegion, rect r) nothing
    native RegionAddCell(region whichRegion, real x, real y) nothing
    native RegionAddCellAtLoc(region whichRegion, location whichLocation) nothing
    native RegionClearCell(region whichRegion, real x, real y) nothing
    native RegionClearCellAtLoc(region whichRegion, location whichLocation) nothing
    native Location(real x, real y) location
    native RemoveLocation(location whichLocation) nothing
    native MoveLocation(location whichLocation, real newX, real newY) nothing
    native GetLocationX(location whichLocation) real
    native GetLocationY(location whichLocation) real
    native GetLocationZ(location whichLocation) real
    native IsUnitInRegion(region whichRegion, unit whichUnit) boolean
    native IsPointInRegion(region whichRegion, real x, real y) boolean
    native IsLocationInRegion(region whichRegion, location whichLocation) boolean
    native GetWorldBounds(nothing) rect
    native CreateTrigger(nothing) trigger
    native DestroyTrigger(trigger whichTrigger) nothing
    native ResetTrigger(trigger whichTrigger) nothing
    native EnableTrigger(trigger whichTrigger) nothing
    native DisableTrigger(trigger whichTrigger) nothing
    native IsTriggerEnabled(trigger whichTrigger) boolean
    native TriggerWaitOnSleeps(trigger whichTrigger, boolean flag) nothing
    native IsTriggerWaitOnSleeps(trigger whichTrigger) boolean
    native GetFilterUnit(nothing) unit
    native GetEnumUnit(nothing) unit
    native GetFilterDestructable(nothing) destructable
    native GetEnumDestructable(nothing) destructable
    native GetFilterItem(nothing) item
    native GetEnumItem(nothing) item
    native GetFilterPlayer(nothing) player
    native GetEnumPlayer(nothing) player
    native GetTriggeringTrigger(nothing) trigger
    native GetTriggerEventId(nothing) eventid
    native GetTriggerEvalCount(trigger whichTrigger) integer
    native GetTriggerExecCount(trigger whichTrigger) integer
    native ExecuteFunc(string funcName) nothing
    native And(boolexpr operandA, boolexpr operandB) boolexpr
    native Or(boolexpr operandA, boolexpr operandB) boolexpr
    native Not(boolexpr operand) boolexpr
    native Condition(code func) conditionfunc
    native DestroyCondition(conditionfunc c) nothing
    native Filter(code func) filterfunc
    native DestroyFilter(filterfunc f) nothing
    native DestroyBoolExpr(boolexpr e) nothing
    native TriggerRegisterVariableEvent(trigger whichTrigger, string varName, limitop opcode, real limitval) event
    native TriggerRegisterTimerEvent(trigger whichTrigger, real timeout, boolean periodic) event
    native TriggerRegisterTimerExpireEvent(trigger whichTrigger, timer t) event
    native TriggerRegisterGameStateEvent(trigger whichTrigger, gamestate whichState, limitop opcode, real limitval) event
    native TriggerRegisterDialogEvent(trigger whichTrigger, dialog whichDialog) event
    native TriggerRegisterDialogButtonEvent(trigger whichTrigger, button whichButton) event
    native GetEventGameState(nothing) gamestate
    native TriggerRegisterGameEvent(trigger whichTrigger, gameevent whichGameEvent) event
    native GetWinningPlayer(nothing) player
    native TriggerRegisterEnterRegion(trigger whichTrigger, region whichRegion, boolexpr filter) event
    native GetTriggeringRegion(nothing) region
    native GetEnteringUnit(nothing) unit
    native TriggerRegisterLeaveRegion(trigger whichTrigger, region whichRegion, boolexpr filter) event
    native GetLeavingUnit(nothing) unit
    native TriggerRegisterTrackableHitEvent(trigger whichTrigger, trackable t) event
    native TriggerRegisterTrackableTrackEvent(trigger whichTrigger, trackable t) event
    native GetTriggeringTrackable(nothing) trackable
    native GetClickedButton(nothing) button
    native GetClickedDialog(nothing) dialog
    native GetTournamentFinishSoonTimeRemaining(nothing) real
    native GetTournamentFinishNowRule(nothing) integer
    native GetTournamentFinishNowPlayer(nothing) player
    native GetTournamentScore(player whichPlayer) integer
    native GetSaveBasicFilename(nothing) string
    native TriggerRegisterPlayerEvent(trigger whichTrigger, player  whichPlayer, playerevent whichPlayerEvent) event
    native GetTriggerPlayer(nothing) player
    native TriggerRegisterPlayerUnitEvent(trigger whichTrigger, player whichPlayer, playerunitevent whichPlayerUnitEvent, boolexpr filter) event
    native GetLevelingUnit(nothing) unit
    native GetLearningUnit(nothing) unit
    native GetLearnedSkill(nothing) integer
    native GetLearnedSkillLevel(nothing) integer
    native GetRevivableUnit(nothing) unit
    native GetRevivingUnit(nothing) unit
    native GetAttacker(nothing) unit
    native GetRescuer(nothing) unit
    native GetDyingUnit(nothing) unit
    native GetKillingUnit(nothing) unit
    native GetDecayingUnit(nothing) unit
    native GetConstructingStructure(nothing) unit
    native GetCancelledStructure(nothing) unit
    native GetConstructedStructure(nothing) unit
    native GetResearchingUnit(nothing) unit
    native GetResearched(nothing) integer
    native GetTrainedUnitType(nothing) integer
    native GetTrainedUnit(nothing) unit
    native GetDetectedUnit(nothing) unit
    native GetSummoningUnit(nothing) unit
    native GetSummonedUnit(nothing) unit
    native GetTransportUnit(nothing) unit
    native GetLoadedUnit(nothing) unit
    native GetSellingUnit(nothing) unit
    native GetSoldUnit(nothing) unit
    native GetBuyingUnit(nothing) unit
    native GetSoldItem(nothing) item
    native GetChangingUnit(nothing) unit
    native GetChangingUnitPrevOwner(nothing) player
    native GetManipulatingUnit(nothing) unit
    native GetManipulatedItem(nothing) item
    native GetOrderedUnit(nothing) unit
    native GetIssuedOrderId(nothing) integer
    native GetOrderPointX(nothing) real
    native GetOrderPointY(nothing) real
    native GetOrderPointLoc(nothing) location
    native GetOrderTarget(nothing) widget
    native GetOrderTargetDestructable(nothing) destructable
    native GetOrderTargetItem(nothing) item
    native GetOrderTargetUnit(nothing) unit
    native GetSpellAbilityUnit(nothing) unit
    native GetSpellAbilityId(nothing) integer
    native GetSpellAbility(nothing) ability
    native TriggerRegisterPlayerAllianceChange(trigger whichTrigger, player whichPlayer, alliancetype whichAlliance) event
    native TriggerRegisterPlayerStateEvent(trigger whichTrigger, player whichPlayer, playerstate whichState, limitop opcode, real limitval) event
    native GetEventPlayerState(nothing) playerstate
    native TriggerRegisterPlayerChatEvent(trigger whichTrigger, player whichPlayer, string chatMessageToDetect, boolean exactMatchOnly) event
    native GetEventPlayerChatString(nothing) string
    native GetEventPlayerChatStringMatched(nothing) string
    native TriggerRegisterDeathEvent(trigger whichTrigger, widget whichWidget) event
    native GetTriggerUnit(nothing) unit
    native TriggerRegisterUnitStateEvent(trigger whichTrigger, unit whichUnit, unitstate whichState, limitop opcode, real limitval) event
    native GetEventUnitState(nothing) unitstate
    native TriggerRegisterUnitEvent(trigger whichTrigger, unit whichUnit, unitevent whichEvent) event
    native GetEventDamage(nothing) real
    native GetEventDetectingPlayer(nothing) player
    native TriggerRegisterFilterUnitEvent(trigger whichTrigger, unit whichUnit, unitevent whichEvent, boolexpr filter) event
    native GetEventTargetUnit(nothing) unit
    native TriggerRegisterUnitInRange(trigger whichTrigger, unit whichUnit, real range, boolexpr filter) event
    native TriggerAddCondition(trigger whichTrigger, boolexpr condition) triggercondition
    native TriggerRemoveCondition(trigger whichTrigger, triggercondition whichCondition) nothing
    native TriggerClearConditions(trigger whichTrigger) nothing
    native TriggerAddAction(trigger whichTrigger, code actionFunc) triggeraction
    native TriggerRemoveAction(trigger whichTrigger, triggeraction whichAction) nothing
    native TriggerClearActions(trigger whichTrigger) nothing
    native TriggerSleepAction(real timeout) nothing
    native TriggerWaitForSound(sound s, real offset) nothing
    native TriggerEvaluate(trigger whichTrigger) boolean
    native TriggerExecute(trigger whichTrigger) nothing
    native TriggerExecuteWait(trigger whichTrigger) nothing
    native TriggerSyncStart(nothing) nothing
    native TriggerSyncReady(nothing) nothing
    native GetWidgetLife(widget whichWidget) real
    native SetWidgetLife(widget whichWidget, real newLife) nothing
    native GetWidgetX(widget whichWidget) real
    native GetWidgetY(widget whichWidget) real
    native GetTriggerWidget(nothing) widget
    native CreateDestructable(integer objectid, real x, real y, real face, real scale, integer variation) destructable
    native CreateDestructableZ(integer objectid, real x, real y, real z, real face, real scale, integer variation) destructable
    native CreateDeadDestructable(integer objectid, real x, real y, real face, real scale, integer variation) destructable
    native CreateDeadDestructableZ(integer objectid, real x, real y, real z, real face, real scale, integer variation) destructable
    native RemoveDestructable(destructable d) nothing
    native KillDestructable(destructable d) nothing
    native SetDestructableInvulnerable(destructable d, boolean flag) nothing
    native IsDestructableInvulnerable(destructable d) boolean
    native EnumDestructablesInRect(rect r, boolexpr filter, code actionFunc) nothing
    native GetDestructableTypeId(destructable d) integer
    native GetDestructableX(destructable d) real
    native GetDestructableY(destructable d) real
    native SetDestructableLife(destructable d, real life) nothing
    native GetDestructableLife(destructable d) real
    native SetDestructableMaxLife(destructable d, real max) nothing
    native GetDestructableMaxLife(destructable d) real
    native DestructableRestoreLife(destructable d, real life, boolean birth) nothing
    native QueueDestructableAnimation(destructable d, string whichAnimation) nothing
    native SetDestructableAnimation(destructable d, string whichAnimation) nothing
    native SetDestructableAnimationSpeed(destructable d, real speedFactor) nothing
    native ShowDestructable(destructable d, boolean flag) nothing
    native GetDestructableOccluderHeight(destructable d) real
    native SetDestructableOccluderHeight(destructable d, real height) nothing
    native CreateItem(integer itemid, real x, real y) item
    native RemoveItem(item whichItem) nothing
    native GetItemPlayer(item whichItem) player
    native GetItemTypeId(item i) integer
    native GetItemX(item i) real
    native GetItemY(item i) real
    native SetItemPosition(item i, real x, real y) nothing
    native SetItemDropOnDeath(item whichItem, boolean flag) nothing
    native SetItemDroppable(item i, boolean flag) nothing
    native SetItemPawnable(item i, boolean flag) nothing
    native SetItemPlayer(item whichItem, player whichPlayer, boolean changeColor) nothing
    native SetItemInvulnerable(item whichItem, boolean flag) nothing
    native IsItemInvulnerable(item whichItem) boolean
    native SetItemVisible(item whichItem, boolean show) nothing
    native IsItemVisible(item whichItem) boolean
    native IsItemOwned(item whichItem) boolean
    native IsItemPowerup(item whichItem) boolean
    native IsItemSellable(item whichItem) boolean
    native IsItemPawnable(item whichItem) boolean
    native IsItemIdPowerup(integer itemId) boolean
    native IsItemIdSellable(integer itemId) boolean
    native IsItemIdPawnable(integer itemId) boolean
    native EnumItemsInRect(rect r, boolexpr filter, code actionFunc) nothing
    native GetItemLevel(item whichItem) integer
    native GetItemType(item whichItem) itemtype
    native SetItemDropID(item whichItem, integer unitId) nothing
    native CreateUnit(player id, integer unitid, real x, real y, real face) unit
    native CreateUnitByName(player whichPlayer, string unitname, real x, real y, real face) unit
    native CreateUnitAtLoc(player id, integer unitid, location whichLocation, real face) unit
    native CreateUnitAtLocByName(player id, string unitname, location whichLocation, real face) unit
    native CreateCorpse(player whichPlayer, integer unitid, real x, real y, real face) unit
    native KillUnit(unit whichUnit) nothing
    native RemoveUnit(unit whichUnit) nothing
    native ShowUnit(unit whichUnit, boolean show) nothing
    native SetUnitState(unit whichUnit, unitstate whichUnitState, real newVal) nothing
    native SetUnitX(unit whichUnit, real newX) nothing
    native SetUnitY(unit whichUnit, real newY) nothing
    native SetUnitPosition(unit whichUnit, real newX, real newY) nothing
    native SetUnitPositionLoc(unit whichUnit, location whichLocation) nothing
    native SetUnitFacing(unit whichUnit, real facingAngle) nothing
    native SetUnitFacingTimed(unit whichUnit, real facingAngle, real duration) nothing
    native SetUnitMoveSpeed(unit whichUnit, real newSpeed) nothing
    native SetUnitFlyHeight(unit whichUnit, real newHeight, real rate) nothing
    native SetUnitTurnSpeed(unit whichUnit, real newTurnSpeed) nothing
    native SetUnitPropWindow(unit whichUnit, real newPropWindowAngle) nothing
    native SetUnitAcquireRange(unit whichUnit, real newAcquireRange) nothing
    native SetUnitCreepGuard(unit whichUnit, boolean creepGuard) nothing
    native GetUnitAcquireRange(unit whichUnit) real
    native GetUnitTurnSpeed(unit whichUnit) real
    native GetUnitPropWindow(unit whichUnit) real
    native GetUnitFlyHeight(unit whichUnit) real
    native GetUnitDefaultAcquireRange(unit whichUnit) real
    native GetUnitDefaultTurnSpeed(unit whichUnit) real
    native GetUnitDefaultPropWindow(unit whichUnit) real
    native GetUnitDefaultFlyHeight(unit whichUnit) real
    native SetUnitOwner(unit whichUnit, player whichPlayer, boolean changeColor) nothing
    native SetUnitColor(unit whichUnit, playercolor whichColor) nothing
    native SetUnitScale(unit whichUnit, real scaleX, real scaleY, real scaleZ) nothing
    native SetUnitTimeScale(unit whichUnit, real timeScale) nothing
    native SetUnitBlendTime(unit whichUnit, real blendTime) nothing
    native SetUnitVertexColor(unit whichUnit, integer red, integer green, integer blue, integer alpha) nothing
    native QueueUnitAnimation(unit whichUnit, string whichAnimation) nothing
    native SetUnitAnimation(unit whichUnit, string whichAnimation) nothing
    native SetUnitAnimationByIndex(unit whichUnit, integer whichAnimation) nothing
    native SetUnitAnimationWithRarity(unit whichUnit, string whichAnimation, raritycontrol rarity) nothing
    native AddUnitAnimationProperties(unit whichUnit, string animProperties, boolean add) nothing
    native SetUnitLookAt(unit whichUnit, string whichBone, unit lookAtTarget, real offsetX, real offsetY, real offsetZ) nothing
    native ResetUnitLookAt(unit whichUnit) nothing
    native SetUnitRescuable(unit whichUnit, player byWhichPlayer, boolean flag) nothing
    native SetUnitRescueRange(unit whichUnit, real range) nothing
    native SetHeroStr(unit whichHero, integer newStr, boolean permanent) nothing
    native SetHeroAgi(unit whichHero, integer newAgi, boolean permanent) nothing
    native SetHeroInt(unit whichHero, integer newInt, boolean permanent) nothing
    native GetHeroStr(unit whichHero, boolean includeBonuses) integer
    native GetHeroAgi(unit whichHero, boolean includeBonuses) integer
    native GetHeroInt(unit whichHero, boolean includeBonuses) integer
    native UnitStripHeroLevel(unit whichHero, integer howManyLevels) boolean
    native GetHeroXP(unit whichHero) integer
    native SetHeroXP(unit whichHero, integer newXpVal,  boolean showEyeCandy) nothing
    native GetHeroSkillPoints(unit whichHero) integer
    native UnitModifySkillPoints(unit whichHero, integer skillPointDelta) boolean
    native AddHeroXP(unit whichHero, integer xpToAdd,   boolean showEyeCandy) nothing
    native SetHeroLevel(unit whichHero, integer level,  boolean showEyeCandy) nothing
    native GetHeroLevel(unit whichHero) integer
    native SuspendHeroXP(unit whichHero, boolean flag) nothing
    native IsSuspendedXP(unit whichHero) boolean
    native SelectHeroSkill(unit whichHero, integer abilcode) nothing
    native ReviveHero(unit whichHero, real x, real y, boolean doEyecandy) boolean
    native ReviveHeroLoc(unit whichHero, location loc, boolean doEyecandy) boolean
    native SetUnitExploded(unit whichUnit, boolean exploded) nothing
    native SetUnitInvulnerable(unit whichUnit, boolean flag) nothing
    native PauseUnit(unit whichUnit, boolean flag) nothing
    native IsUnitPaused(unit whichHero) boolean
    native SetUnitPathing(unit whichUnit, boolean flag) nothing
    native ClearSelection(nothing) nothing
    native SelectUnit(unit whichUnit, boolean flag) nothing
    native GetUnitPointValue(unit whichUnit) integer
    native GetUnitPointValueByType(integer unitType) integer
    native UnitAddItem(unit whichUnit, item whichItem) boolean
    native UnitAddItemById(unit whichUnit, integer itemId) item
    native UnitAddItemToSlotById(unit whichUnit, integer itemId, integer itemSlot) boolean
    native UnitRemoveItem(unit whichUnit, item whichItem) nothing
    native UnitRemoveItemFromSlot(unit whichUnit, integer itemSlot) item
    native UnitHasItem(unit whichUnit, item whichItem) boolean
    native UnitItemInSlot(unit whichUnit, integer itemSlot) item
    native UnitUseItem(unit whichUnit, item whichItem) boolean
    native UnitUseItemPoint(unit whichUnit, item whichItem, real x, real y) boolean
    native UnitUseItemTarget(unit whichUnit, item whichItem, widget target) boolean
    native GetUnitX(unit whichUnit) real
    native GetUnitY(unit whichUnit) real
    native GetUnitLoc(unit whichUnit) location
    native GetUnitFacing(unit whichUnit) real
    native GetUnitMoveSpeed(unit whichUnit) real
    native GetUnitDefaultMoveSpeed(unit whichUnit) real
    native GetUnitState(unit whichUnit, unitstate whichUnitState) real
    native GetOwningPlayer(unit whichUnit) player
    native GetUnitTypeId(unit whichUnit) integer
    native GetUnitRace(unit whichUnit) race
    native GetUnitName(unit whichUnit) string
    native GetUnitFoodUsed(unit whichUnit) integer
    native GetUnitFoodMade(unit whichUnit) integer
    native GetFoodMade(integer unitId) integer
    native GetFoodUsed(integer unitId) integer
    native SetUnitUseFood(unit whichUnit, boolean useFood) nothing
    native IsUnitInGroup(unit whichUnit, group whichGroup) boolean
    native IsUnitInForce(unit whichUnit, force whichForce) boolean
    native IsUnitOwnedByPlayer(unit whichUnit, player whichPlayer) boolean
    native IsUnitAlly(unit whichUnit, player whichPlayer) boolean
    native IsUnitEnemy(unit whichUnit, player whichPlayer) boolean
    native IsUnitVisible(unit whichUnit, player whichPlayer) boolean
    native IsUnitDetected(unit whichUnit, player whichPlayer) boolean
    native IsUnitInvisible(unit whichUnit, player whichPlayer) boolean
    native IsUnitFogged(unit whichUnit, player whichPlayer) boolean
    native IsUnitMasked(unit whichUnit, player whichPlayer) boolean
    native IsUnitSelected(unit whichUnit, player whichPlayer) boolean
    native IsUnitRace(unit whichUnit, race whichRace) boolean
    native IsUnitType(unit whichUnit, unittype whichUnitType) boolean
    native IsUnit(unit whichUnit, unit whichSpecifiedUnit) boolean
    native IsUnitInRange(unit whichUnit, unit otherUnit, real distance) boolean
    native IsUnitInRangeXY(unit whichUnit, real x, real y, real distance) boolean
    native IsUnitInRangeLoc(unit whichUnit, location whichLocation, real distance) boolean
    native IsUnitHidden(unit whichUnit) boolean
    native IsUnitIllusion(unit whichUnit) boolean
    native IsUnitInTransport(unit whichUnit, unit whichTransport) boolean
    native IsUnitLoaded(unit whichUnit) boolean
    native IsHeroUnitId(integer unitId) boolean
    native IsUnitIdType(integer unitId, unittype whichUnitType) boolean
    native UnitShareVision(unit whichUnit, player whichPlayer, boolean share) nothing
    native UnitSuspendDecay(unit whichUnit, boolean suspend) nothing
    native UnitAddAbility(unit whichUnit, integer abilityId) boolean
    native UnitRemoveAbility(unit whichUnit, integer abilityId) boolean
    native UnitRemoveBuffs(unit whichUnit, boolean removePositive, boolean removeNegative) nothing
    native UnitRemoveBuffsEx(unit whichUnit, boolean removePositive, boolean removeNegative, boolean magic, boolean physical, boolean timedLife, boolean aura, boolean autoDispel) nothing
    native UnitHasBuffsEx(unit whichUnit, boolean removePositive, boolean removeNegative, boolean magic, boolean physical, boolean timedLife, boolean aura, boolean autoDispel) boolean
    native UnitCountBuffsEx(unit whichUnit, boolean removePositive, boolean removeNegative, boolean magic, boolean physical, boolean timedLife, boolean aura, boolean autoDispel) integer
    native UnitAddSleep(unit whichUnit, boolean add) nothing
    native UnitCanSleep(unit whichUnit) boolean
    native UnitAddSleepPerm(unit whichUnit, boolean add) nothing
    native UnitCanSleepPerm(unit whichUnit) boolean
    native UnitIsSleeping(unit whichUnit) boolean
    native UnitWakeUp(unit whichUnit) nothing
    native UnitApplyTimedLife(unit whichUnit, integer buffId, real duration) nothing
    native UnitIgnoreAlarm(unit whichUnit, boolean flag) boolean
    native UnitIgnoreAlarmToggled(unit whichUnit) boolean
    native UnitResetCooldown(unit whichUnit) nothing
    native UnitSetConstructionProgress(unit whichUnit, integer constructionPercentage) nothing
    native UnitSetUpgradeProgress(unit whichUnit, integer upgradePercentage) nothing
    native UnitPauseTimedLife(unit whichUnit, boolean flag) nothing
    native UnitSetUsesAltIcon(unit whichUnit, boolean flag) nothing
    native IssueImmediateOrder(unit whichUnit, string order) boolean
    native IssueImmediateOrderById(unit whichUnit, integer order) boolean
    native IssuePointOrder(unit whichUnit, string order, real x, real y) boolean
    native IssuePointOrderLoc(unit whichUnit, string order, location whichLocation) boolean
    native IssuePointOrderById(unit whichUnit, integer order, real x, real y) boolean
    native IssuePointOrderByIdLoc(unit whichUnit, integer order, location whichLocation) boolean
    native IssueTargetOrder(unit whichUnit, string order, widget targetWidget) boolean
    native IssueTargetOrderById(unit whichUnit, integer order, widget targetWidget) boolean
    native IssueInstantTargetOrder(unit whichUnit, string order, widget targetWidget, widget instantTargetWidget) boolean
    native IssueInstantTargetOrderById(unit whichUnit, integer order, widget targetWidget, widget instantTargetWidget) boolean
    native IssueBuildOrder(unit whichPeon, string unitToBuild, real x, real y) boolean
    native IssueBuildOrderById(unit whichPeon, integer unitId, real x, real y) boolean
    native IssueNeutralImmediateOrder(player forWhichPlayer, unit neutralStructure, string unitToBuild) boolean
    native IssueNeutralImmediateOrderById(player forWhichPlayer,unit neutralStructure, integer unitId) boolean
    native IssueNeutralPointOrder(player forWhichPlayer,unit neutralStructure, string unitToBuild, real x, real y) boolean
    native IssueNeutralPointOrderById(player forWhichPlayer,unit neutralStructure, integer unitId, real x, real y) boolean
    native IssueNeutralTargetOrder(player forWhichPlayer,unit neutralStructure, string unitToBuild, widget target) boolean
    native IssueNeutralTargetOrderById(player forWhichPlayer,unit neutralStructure, integer unitId, widget target) boolean
    native SetResourceAmount(unit whichUnit, integer amount) nothing
    native AddResourceAmount(unit whichUnit, integer amount) nothing
    native GetResourceAmount(unit whichUnit) integer
    native WaygateGetDestinationX(unit waygate) real
    native WaygateGetDestinationY(unit waygate) real
    native WaygateSetDestination(unit waygate, real x, real y) nothing
    native WaygateActivate(unit waygate, boolean activate) nothing
    native WaygateIsActive(unit waygate) boolean
    native AddItemToAllStock(integer itemId, integer currentStock, integer stockMax) nothing
    native AddItemToStock(unit whichUnit, integer itemId, integer currentStock, integer stockMax) nothing
    native AddUnitToAllStock(integer unitId, integer currentStock, integer stockMax) nothing
    native AddUnitToStock(unit whichUnit, integer unitId, integer currentStock, integer stockMax) nothing
    native RemoveItemFromAllStock(integer itemId) nothing
    native RemoveItemFromStock(unit whichUnit, integer itemId) nothing
    native RemoveUnitFromAllStock(integer unitId) nothing
    native RemoveUnitFromStock(unit whichUnit, integer unitId) nothing
    native SetAllItemTypeSlots(integer slots) nothing
    native SetAllUnitTypeSlots(integer slots) nothing
    native SetItemTypeSlots(unit whichUnit, integer slots) nothing
    native SetUnitTypeSlots(unit whichUnit, integer slots) nothing
    native GetUnitUserData(unit whichUnit) integer
    native SetUnitUserData(unit whichUnit, integer data) nothing
    native Player(integer number) player
    native GetLocalPlayer(nothing) player
    native IsPlayerAlly(player whichPlayer, player otherPlayer) boolean
    native IsPlayerEnemy(player whichPlayer, player otherPlayer) boolean
    native IsPlayerInForce(player whichPlayer, force whichForce) boolean
    native IsPlayerObserver(player whichPlayer) boolean
    native IsVisibleToPlayer(real x, real y, player whichPlayer) boolean
    native IsLocationVisibleToPlayer(location whichLocation, player whichPlayer) boolean
    native IsFoggedToPlayer(real x, real y, player whichPlayer) boolean
    native IsLocationFoggedToPlayer(location whichLocation, player whichPlayer) boolean
    native IsMaskedToPlayer(real x, real y, player whichPlayer) boolean
    native IsLocationMaskedToPlayer(location whichLocation, player whichPlayer) boolean
    native GetPlayerRace(player whichPlayer) race
    native GetPlayerId(player whichPlayer) integer
    native GetPlayerUnitCount(player whichPlayer, boolean includeIncomplete) integer
    native GetPlayerTypedUnitCount(player whichPlayer, string unitName, boolean includeIncomplete, boolean includeUpgrades) integer
    native GetPlayerStructureCount(player whichPlayer, boolean includeIncomplete) integer
    native GetPlayerState(player whichPlayer, playerstate whichPlayerState) integer
    native GetPlayerAlliance(player sourcePlayer, player otherPlayer, alliancetype whichAllianceSetting) boolean
    native GetPlayerHandicap(player whichPlayer) real
    native GetPlayerHandicapXP(player whichPlayer) real
    native SetPlayerHandicap(player whichPlayer, real handicap) nothing
    native SetPlayerHandicapXP(player whichPlayer, real handicap) nothing
    native SetPlayerTechMaxAllowed(player whichPlayer, integer techid, integer maximum) nothing
    native GetPlayerTechMaxAllowed(player whichPlayer, integer techid) integer
    native AddPlayerTechResearched(player whichPlayer, integer techid, integer levels) nothing
    native SetPlayerTechResearched(player whichPlayer, integer techid, integer setToLevel) nothing
    native GetPlayerTechResearched(player whichPlayer, integer techid, boolean specificonly) boolean
    native GetPlayerTechCount(player whichPlayer, integer techid, boolean specificonly) integer
    native SetPlayerUnitsOwner(player whichPlayer, integer newOwner) nothing
    native CripplePlayer(player whichPlayer, force toWhichPlayers, boolean flag) nothing
    native SetPlayerAbilityAvailable(player whichPlayer, integer abilid, boolean avail) nothing
    native SetPlayerState(player whichPlayer, playerstate whichPlayerState, integer value) nothing
    native RemovePlayer(player whichPlayer, playergameresult gameResult) nothing
    native CachePlayerHeroData(player whichPlayer) nothing
    native SetFogStateRect(player forWhichPlayer, fogstate whichState, rect where, boolean useSharedVision) nothing
    native SetFogStateRadius(player forWhichPlayer, fogstate whichState, real centerx, real centerY, real radius, boolean useSharedVision) nothing
    native SetFogStateRadiusLoc(player forWhichPlayer, fogstate whichState, location center, real radius, boolean useSharedVision) nothing
    native FogMaskEnable(boolean enable) nothing
    native IsFogMaskEnabled(nothing) boolean
    native FogEnable(boolean enable) nothing
    native IsFogEnabled(nothing) boolean
    native CreateFogModifierRect(player forWhichPlayer, fogstate whichState, rect where, boolean useSharedVision, boolean afterUnits) fogmodifier
    native CreateFogModifierRadius(player forWhichPlayer, fogstate whichState, real centerx, real centerY, real radius, boolean useSharedVision, boolean afterUnits) fogmodifier
    native CreateFogModifierRadiusLoc(player forWhichPlayer, fogstate whichState, location center, real radius, boolean useSharedVision, boolean afterUnits) fogmodifier
    native DestroyFogModifier(fogmodifier whichFogModifier) nothing
    native FogModifierStart(fogmodifier whichFogModifier) nothing
    native FogModifierStop(fogmodifier whichFogModifier) nothing
    native VersionGet(nothing) version
    native VersionCompatible(version whichVersion) boolean
    native VersionSupported(version whichVersion) boolean
    native EndGame(boolean doScoreScreen) nothing
    native ChangeLevel(string newLevel, boolean doScoreScreen) nothing
    native RestartGame(boolean doScoreScreen) nothing
    native ReloadGame(nothing) nothing
    native SetCampaignMenuRace(race r) nothing
    native SetCampaignMenuRaceEx(integer campaignIndex) nothing
    native ForceCampaignSelectScreen(nothing) nothing
    native LoadGame(string saveFileName, boolean doScoreScreen) nothing
    native SaveGame(string saveFileName) nothing
    native RenameSaveDirectory(string sourceDirName, string destDirName) boolean
    native RemoveSaveDirectory(string sourceDirName) boolean
    native CopySaveGame(string sourceSaveName, string destSaveName) boolean
    native SaveGameExists(string saveName) boolean
    native SyncSelections(nothing) nothing
    native SetFloatGameState(fgamestate whichFloatGameState, real value) nothing
    native GetFloatGameState(fgamestate whichFloatGameState) real
    native SetIntegerGameState(igamestate whichIntegerGameState, integer value) nothing
    native GetIntegerGameState(igamestate whichIntegerGameState) integer
    native SetTutorialCleared(boolean cleared) nothing
    native SetMissionAvailable(integer campaignNumber, integer missionNumber, boolean available) nothing
    native SetCampaignAvailable(integer campaignNumber, boolean available) nothing
    native SetOpCinematicAvailable(integer campaignNumber, boolean available) nothing
    native SetEdCinematicAvailable(integer campaignNumber, boolean available) nothing
    native GetDefaultDifficulty(nothing) gamedifficulty
    native SetDefaultDifficulty(gamedifficulty g) nothing
    native SetCustomCampaignButtonVisible(integer whichButton, boolean visible) nothing
    native GetCustomCampaignButtonVisible(integer whichButton) boolean
    native DoNotSaveReplay(nothing) nothing
    native DialogCreate(nothing) dialog
    native DialogDestroy(dialog whichDialog) nothing
    native DialogClear(dialog whichDialog) nothing
    native DialogSetMessage(dialog whichDialog, string messageText) nothing
    native DialogAddButton(dialog whichDialog, string buttonText, integer hotkey) button
    native DialogAddQuitButton(dialog whichDialog, boolean doScoreScreen, string buttonText, integer hotkey) button
    native DialogDisplay(player whichPlayer, dialog whichDialog, boolean flag) nothing
    native ReloadGameCachesFromDisk(nothing) boolean
    native InitGameCache(string campaignFile) gamecache
    native SaveGameCache(gamecache whichCache) boolean
    native StoreInteger(gamecache cache, string missionKey, string key, integer value) nothing
    native StoreReal(gamecache cache, string missionKey, string key, real value) nothing
    native StoreBoolean(gamecache cache, string missionKey, string key, boolean value) nothing
    native StoreUnit(gamecache cache, string missionKey, string key, unit whichUnit) boolean
    native StoreString(gamecache cache, string missionKey, string key, string value) boolean
    native SyncStoredInteger(gamecache cache, string missionKey, string key) nothing
    native SyncStoredReal(gamecache cache, string missionKey, string key) nothing
    native SyncStoredBoolean(gamecache cache, string missionKey, string key) nothing
    native SyncStoredUnit(gamecache cache, string missionKey, string key) nothing
    native SyncStoredString(gamecache cache, string missionKey, string key) nothing
    native GetStoredInteger(gamecache cache, string missionKey, string key) integer
    native GetStoredReal(gamecache cache, string missionKey, string key) real
    native GetStoredBoolean(gamecache cache, string missionKey, string key) boolean
    native GetStoredString(gamecache cache, string missionKey, string key) string
    native RestoreUnit(gamecache cache, string missionKey, string key, player forWhichPlayer, real x, real y, real facing) unit
    native HaveStoredInteger(gamecache cache, string missionKey, string key) boolean
    native HaveStoredReal(gamecache cache, string missionKey, string key) boolean
    native HaveStoredBoolean(gamecache cache, string missionKey, string key) boolean
    native HaveStoredUnit(gamecache cache, string missionKey, string key) boolean
    native HaveStoredString(gamecache cache, string missionKey, string key) boolean
    native FlushGameCache(gamecache cache) nothing
    native FlushStoredMission(gamecache cache, string missionKey) nothing
    native FlushStoredInteger(gamecache cache, string missionKey, string key) nothing
    native FlushStoredReal(gamecache cache, string missionKey, string key) nothing
    native FlushStoredBoolean(gamecache cache, string missionKey, string key) nothing
    native FlushStoredUnit(gamecache cache, string missionKey, string key) nothing
    native FlushStoredString(gamecache cache, string missionKey, string key) nothing
    native GetRandomInt(integer lowBound, integer highBound) integer
    native GetRandomReal(real lowBound, real highBound) real
    native CreateUnitPool(nothing) unitpool
    native DestroyUnitPool(unitpool whichPool) nothing
    native UnitPoolAddUnitType(unitpool whichPool, integer unitId, real weight) nothing
    native UnitPoolRemoveUnitType(unitpool whichPool, integer unitId) nothing
    native PlaceRandomUnit(unitpool whichPool, player forWhichPlayer, real x, real y, real facing) unit
    native CreateItemPool(nothing) itempool
    native DestroyItemPool(itempool whichItemPool) nothing
    native ItemPoolAddItemType(itempool whichItemPool, integer itemId, real weight) nothing
    native ItemPoolRemoveItemType(itempool whichItemPool, integer itemId) nothing
    native PlaceRandomItem(itempool whichItemPool, real x, real y) item
    native ChooseRandomCreep(integer level) integer
    native ChooseRandomNPBuilding(nothing) integer
    native ChooseRandomItem(integer level) integer
    native ChooseRandomItemEx(itemtype whichType, integer level) integer
    native SetRandomSeed(integer seed) nothing
    native SetTerrainFog(real a, real b, real c, real d, real e) nothing
    native ResetTerrainFog(nothing) nothing
    native SetUnitFog(real a, real b, real c, real d, real e) nothing
    native SetTerrainFogEx(integer style, real zstart, real zend, real density, real red, real green, real blue) nothing
    native DisplayTextToPlayer(player toPlayer, real x, real y, string message) nothing
    native DisplayTimedTextToPlayer(player toPlayer, real x, real y, real duration, string message) nothing
    native DisplayTimedTextFromPlayer(player toPlayer, real x, real y, real duration, string message) nothing
    native ClearTextMessages(nothing) nothing
    native SetDayNightModels(string terrainDNCFile, string unitDNCFile) nothing
    native SetSkyModel(string skyModelFile) nothing
    native EnableUserControl(boolean b) nothing
    native EnableUserUI(boolean b) nothing
    native SuspendTimeOfDay(boolean b) nothing
    native SetTimeOfDayScale(real r) nothing
    native GetTimeOfDayScale(nothing) real
    native ShowInterface(boolean flag, real fadeDuration) nothing
    native PauseGame(boolean flag) nothing
    native UnitAddIndicator(unit whichUnit, integer red, integer green, integer blue, integer alpha) nothing
    native AddIndicator(widget whichWidget, integer red, integer green, integer blue, integer alpha) nothing
    native PingMinimap(real x, real y, real duration) nothing
    native PingMinimapEx(real x, real y, real duration, integer red, integer green, integer blue, boolean extraEffects) nothing
    native EnableOcclusion(boolean flag) nothing
    native SetIntroShotText(string introText) nothing
    native SetIntroShotModel(string introModelPath) nothing
    native EnableWorldFogBoundary(boolean b) nothing
    native PlayModelCinematic(string modelName) nothing
    native PlayCinematic(string movieName) nothing
    native ForceUIKey(string key) nothing
    native ForceUICancel(nothing) nothing
    native DisplayLoadDialog(nothing) nothing
    native SetAltMinimapIcon(string iconPath) nothing
    native DisableRestartMission(boolean flag) nothing
    native CreateTextTag(nothing) texttag
    native DestroyTextTag(texttag t) nothing
    native SetTextTagText(texttag t, string s, real height) nothing
    native SetTextTagPos(texttag t, real x, real y, real heightOffset) nothing
    native SetTextTagPosUnit(texttag t, unit whichUnit, real heightOffset) nothing
    native SetTextTagColor(texttag t, integer red, integer green, integer blue, integer alpha) nothing
    native SetTextTagVelocity(texttag t, real xvel, real yvel) nothing
    native SetTextTagVisibility(texttag t, boolean flag) nothing
    native SetReservedLocalHeroButtons(integer reserved) nothing
    native GetAllyColorFilterState(nothing) integer
    native SetAllyColorFilterState(integer state) nothing
    native CreateTrackable(string trackableModelPath, real x, real y, real facing) trackable
    native CreateQuest(nothing) quest
    native DestroyQuest(quest whichQuest) nothing
    native QuestSetTitle(quest whichQuest, string title) nothing
    native QuestSetDescription(quest whichQuest, string description) nothing
    native QuestSetIconPath(quest whichQuest, string iconPath) nothing
    native QuestSetRequired(quest whichQuest, boolean required) nothing
    native QuestSetCompleted(quest whichQuest, boolean completed) nothing
    native QuestSetDiscovered(quest whichQuest, boolean discovered) nothing
    native QuestSetFailed(quest whichQuest, boolean failed) nothing
    native QuestSetEnabled(quest whichQuest, boolean enabled) nothing
    native IsQuestRequired(quest whichQuest) boolean
    native IsQuestCompleted(quest whichQuest) boolean
    native IsQuestDiscovered(quest whichQuest) boolean
    native IsQuestFailed(quest whichQuest) boolean
    native IsQuestEnabled(quest whichQuest) boolean
    native QuestCreateItem(quest whichQuest) questitem
    native QuestItemSetDescription(questitem whichQuestItem, string description) nothing
    native QuestItemSetCompleted(questitem whichQuestItem, boolean completed) nothing
    native IsQuestItemCompleted(questitem whichQuestItem) boolean
    native CreateDefeatCondition(nothing) defeatcondition
    native DestroyDefeatCondition(defeatcondition whichCondition) nothing
    native DefeatConditionSetDescription(defeatcondition whichCondition, string description) nothing
    native FlashQuestDialogButton(nothing) nothing
    native ForceQuestDialogUpdate(nothing) nothing
    native CreateTimerDialog(timer t) timerdialog
    native DestroyTimerDialog(timerdialog whichDialog) nothing
    native TimerDialogSetTitle(timerdialog whichDialog, string title) nothing
    native TimerDialogSetTitleColor(timerdialog whichDialog, integer red, integer green, integer blue, integer alpha) nothing
    native TimerDialogSetTimeColor(timerdialog whichDialog, integer red, integer green, integer blue, integer alpha) nothing
    native TimerDialogSetSpeed(timerdialog whichDialog, real speedMultFactor) nothing
    native TimerDialogDisplay(timerdialog whichDialog, boolean display) nothing
    native IsTimerDialogDisplayed(timerdialog whichDialog) boolean
    native TimerDialogSetRealTimeRemaining(timerdialog whichDialog, real timeRemaining) nothing
    native CreateLeaderboard(nothing) leaderboard
    native DestroyLeaderboard(leaderboard lb) nothing
    native LeaderboardDisplay(leaderboard lb, boolean show) nothing
    native IsLeaderboardDisplayed(leaderboard lb) boolean
    native LeaderboardGetItemCount(leaderboard lb) integer
    native LeaderboardSetSizeByItemCount(leaderboard lb, integer count) nothing
    native LeaderboardAddItem(leaderboard lb, string label, integer value, player p) nothing
    native LeaderboardRemoveItem(leaderboard lb, integer index) nothing
    native LeaderboardRemovePlayerItem(leaderboard lb, player p) nothing
    native LeaderboardClear(leaderboard lb) nothing
    native LeaderboardSortItemsByValue(leaderboard lb, boolean ascending) nothing
    native LeaderboardSortItemsByPlayer(leaderboard lb, boolean ascending) nothing
    native LeaderboardSortItemsByLabel(leaderboard lb, boolean ascending) nothing
    native LeaderboardHasPlayerItem(leaderboard lb, player p) boolean
    native LeaderboardGetPlayerIndex(leaderboard lb, player p) integer
    native LeaderboardSetLabel(leaderboard lb, string label) nothing
    native LeaderboardGetLabelText(leaderboard lb) string
    native PlayerSetLeaderboard(player toPlayer, leaderboard lb) nothing
    native PlayerGetLeaderboard(player toPlayer) leaderboard
    native LeaderboardSetLabelColor(leaderboard lb, integer red, integer green, integer blue, integer alpha) nothing
    native LeaderboardSetValueColor(leaderboard lb, integer red, integer green, integer blue, integer alpha) nothing
    native LeaderboardSetStyle(leaderboard lb, boolean showLabel, boolean showNames, boolean showValues, boolean showIcons) nothing
    native LeaderboardSetItemValue(leaderboard lb, integer whichItem, integer val) nothing
    native LeaderboardSetItemLabel(leaderboard lb, integer whichItem, string val) nothing
    native LeaderboardSetItemStyle(leaderboard lb, integer whichItem, boolean showLabel, boolean showValue, boolean showIcon) nothing
    native LeaderboardSetItemLabelColor(leaderboard lb, integer whichItem, integer red, integer green, integer blue, integer alpha) nothing
    native LeaderboardSetItemValueColor(leaderboard lb, integer whichItem, integer red, integer green, integer blue, integer alpha) nothing
    native CreateMultiboard(nothing) multiboard
    native DestroyMultiboard(multiboard lb) nothing
    native MultiboardDisplay(multiboard lb, boolean show) nothing
    native IsMultiboardDisplayed(multiboard lb) boolean
    native MultiboardMinimize(multiboard lb, boolean minimize) nothing
    native IsMultiboardMinimized(multiboard lb) boolean
    native MultiboardClear(multiboard lb) nothing
    native MultiboardSetTitleText(multiboard lb, string label) nothing
    native MultiboardGetTitleText(multiboard lb) string
    native MultiboardSetTitleTextColor(multiboard lb, integer red, integer green, integer blue, integer alpha) nothing
    native MultiboardGetRowCount(multiboard lb) integer
    native MultiboardGetColumnCount(multiboard lb) integer
    native MultiboardSetColumnCount(multiboard lb, integer count) nothing
    native MultiboardSetRowCount(multiboard lb, integer count) nothing
    native MultiboardSetItemsStyle(multiboard lb, boolean showValues, boolean showIcons) nothing
    native MultiboardSetItemsValue(multiboard lb, string value) nothing
    native MultiboardSetItemsValueColor(multiboard lb, integer red, integer green, integer blue, integer alpha) nothing
    native MultiboardSetItemsWidth(multiboard lb, real width) nothing
    native MultiboardSetItemsIcon(multiboard lb, string iconPath) nothing
    native MultiboardGetItem(multiboard lb, integer row, integer column) multiboarditem
    native MultiboardReleaseItem(multiboarditem mbi) nothing
    native MultiboardSetItemStyle(multiboarditem mbi, boolean showValue, boolean showIcon) nothing
    native MultiboardSetItemValue(multiboarditem mbi, string val) nothing
    native MultiboardSetItemValueColor(multiboarditem mbi, integer red, integer green, integer blue, integer alpha) nothing
    native MultiboardSetItemWidth(multiboarditem mbi, real width) nothing
    native MultiboardSetItemIcon(multiboarditem mbi, string iconFileName) nothing
    native MultiboardSuppressDisplay(boolean flag) nothing
    native SetCameraPosition(real x, real y) nothing
    native SetCameraQuickPosition(real x, real y) nothing
    native SetCameraBounds(real x1, real y1, real x2, real y2, real x3, real y3, real x4, real y4) nothing
    native StopCamera(nothing) nothing
    native ResetToGameCamera(real duration) nothing
    native PanCameraTo(real x, real y) nothing
    native PanCameraToTimed(real x, real y, real duration) nothing
    native PanCameraToWithZ(real x, real y, real zOffsetDest) nothing
    native PanCameraToTimedWithZ(real x, real y, real zOffsetDest, real duration) nothing
    native SetCinematicCamera(string cameraModelFile) nothing
    native SetCameraRotateMode(real x, real y, real radiansToSweep, real duration) nothing
    native SetCameraField(camerafield whichField, real value, real duration) nothing
    native AdjustCameraField(camerafield whichField, real offset, real duration) nothing
    native SetCameraTargetController(unit whichUnit, real xoffset, real yoffset, boolean inheritOrientation) nothing
    native SetCameraOrientController(unit whichUnit, real xoffset, real yoffset) nothing
    native CreateCameraSetup(nothing) camerasetup
    native CameraSetupSetField(camerasetup whichSetup, camerafield whichField, real value, real duration) nothing
    native CameraSetupGetField(camerasetup whichSetup, camerafield whichField) real
    native CameraSetupSetDestPosition(camerasetup whichSetup, real x, real y, real duration) nothing
    native CameraSetupGetDestPositionLoc(camerasetup whichSetup) location
    native CameraSetupGetDestPositionX(camerasetup whichSetup) real
    native CameraSetupGetDestPositionY(camerasetup whichSetup) real
    native CameraSetupApply(camerasetup whichSetup, boolean doPan, boolean panTimed) nothing
    native CameraSetupApplyWithZ(camerasetup whichSetup, real zDestOffset) nothing
    native CameraSetupApplyForceDuration(camerasetup whichSetup, boolean doPan, real forceDuration) nothing
    native CameraSetupApplyForceDurationWithZ(camerasetup whichSetup, real zDestOffset, real forceDuration) nothing
    native CameraSetTargetNoise(real mag, real velocity) nothing
    native CameraSetSourceNoise(real mag, real velocity) nothing
    native CameraSetTargetNoiseEx(real mag, real velocity, boolean vertOnly) nothing
    native CameraSetSourceNoiseEx(real mag, real velocity, boolean vertOnly) nothing
    native CameraSetSmoothingFactor(real factor) nothing
    native SetCineFilterTexture(string filename) nothing
    native SetCineFilterBlendMode(blendmode whichMode) nothing
    native SetCineFilterTexMapFlags(texmapflags whichFlags) nothing
    native SetCineFilterStartUV(real minu, real minv, real maxu, real maxv) nothing
    native SetCineFilterEndUV(real minu, real minv, real maxu, real maxv) nothing
    native SetCineFilterStartColor(integer red, integer green, integer blue, integer alpha) nothing
    native SetCineFilterEndColor(integer red, integer green, integer blue, integer alpha) nothing
    native SetCineFilterDuration(real duration) nothing
    native DisplayCineFilter(boolean flag) nothing
    native IsCineFilterDisplayed(nothing) boolean
    native SetCinematicScene(integer portraitUnitId, playercolor color, string speakerTitle, string text, real sceneDuration, real voiceoverDuration) nothing
    native EndCinematicScene(nothing) nothing
    native ForceCinematicSubtitles(boolean flag) nothing
    native GetCameraMargin(integer whichMargin) real
    native GetCameraBoundMinX(nothing) real
    native GetCameraBoundMinY(nothing) real
    native GetCameraBoundMaxX(nothing) real
    native GetCameraBoundMaxY(nothing) real
    native GetCameraField(camerafield whichField) real
    native GetCameraTargetPositionX(nothing) real
    native GetCameraTargetPositionY(nothing) real
    native GetCameraTargetPositionZ(nothing) real
    native GetCameraTargetPositionLoc(nothing) location
    native GetCameraEyePositionX(nothing) real
    native GetCameraEyePositionY(nothing) real
    native GetCameraEyePositionZ(nothing) real
    native GetCameraEyePositionLoc(nothing) location
    native NewSoundEnvironment(string environmentName) nothing
    native CreateSound(string fileName, boolean looping, boolean is3D, boolean stopwhenoutofrange, integer fadeInRate, integer fadeOutRate, string eaxSetting) sound
    native CreateSoundFilenameWithLabel(string fileName, boolean looping, boolean is3D, boolean stopwhenoutofrange, integer fadeInRate, integer fadeOutRate, string SLKEntryName) sound
    native CreateSoundFromLabel(string soundLabel, boolean looping, boolean is3D, boolean stopwhenoutofrange, integer fadeInRate, integer fadeOutRate) sound
    native CreateMIDISound(string soundLabel, integer fadeInRate, integer fadeOutRate) sound
    native SetSoundParamsFromLabel(sound soundHandle, string soundLabel) nothing
    native SetSoundDistanceCutoff(sound soundHandle, real cutoff) nothing
    native SetSoundChannel(sound soundHandle, integer channel) nothing
    native SetSoundVolume(sound soundHandle, integer volume) nothing
    native SetSoundPitch(sound soundHandle, real pitch) nothing
    native SetSoundPlayPosition(sound soundHandle, integer millisecs) nothing
    native SetSoundDistances(sound soundHandle, real minDist, real maxDist) nothing
    native SetSoundConeAngles(sound soundHandle, real inside, real outside, integer outsideVolume) nothing
    native SetSoundConeOrientation(sound soundHandle, real x, real y, real z) nothing
    native SetSoundPosition(sound soundHandle, real x, real y, real z) nothing
    native SetSoundVelocity(sound soundHandle, real x, real y, real z) nothing
    native AttachSoundToUnit(sound soundHandle, unit whichUnit) nothing
    native StartSound(sound soundHandle) nothing
    native StopSound(sound soundHandle, boolean killWhenDone, boolean fadeOut) nothing
    native KillSoundWhenDone(sound soundHandle) nothing
    native SetMapMusic(string musicName, boolean random, integer index) nothing
    native ClearMapMusic(nothing) nothing
    native PlayMusic(string musicName) nothing
    native PlayMusicEx(string musicName, integer frommsecs, integer fadeinmsecs) nothing
    native StopMusic(boolean fadeOut) nothing
    native ResumeMusic(nothing) nothing
    native PlayThematicMusic(string musicFileName) nothing
    native PlayThematicMusicEx(string musicFileName, integer frommsecs) nothing
    native EndThematicMusic(nothing) nothing
    native SetMusicVolume(integer volume) nothing
    native SetMusicPlayPosition(integer millisecs) nothing
    native SetThematicMusicPlayPosition(integer millisecs) nothing
    native SetSoundDuration(sound soundHandle, integer duration) nothing
    native GetSoundDuration(sound soundHandle) integer
    native GetSoundFileDuration(string musicFileName) integer
    native VolumeGroupSetVolume(volumegroup vgroup, real scale) nothing
    native VolumeGroupReset(nothing) nothing
    native GetSoundIsPlaying(sound soundHandle) boolean
    native GetSoundIsLoading(sound soundHandle) boolean
    native RegisterStackedSound(sound soundHandle, boolean byPosition, real rectwidth, real rectheight) nothing
    native UnregisterStackedSound(sound soundHandle, boolean byPosition, real rectwidth, real rectheight) nothing
    native AddWeatherEffect(rect where, integer effectID) weathereffect
    native RemoveWeatherEffect(weathereffect whichEffect) nothing
    native EnableWeatherEffect(weathereffect whichEffect, boolean enable) nothing
    native TerrainDeformCrater(real x, real y, real radius, real depth, integer duration, boolean permanent) terraindeformation
    native TerrainDeformRipple(real x, real y, real radius, real depth, integer duration, integer count, real spaceWaves, real timeWaves, real radiusStartPct, boolean limitNeg) terraindeformation
    native TerrainDeformWave(real x, real y, real dirX, real dirY, real distance, real speed, real radius, real depth, integer trailTime, integer count) terraindeformation
    native TerrainDeformRandom(real x, real y, real radius, real minDelta, real maxDelta, integer duration, integer updateInterval) terraindeformation
    native TerrainDeformStop(terraindeformation deformation, integer duration) nothing
    native TerrainDeformStopAll(nothing) nothing
    native AddSpecialEffect(string modelName, real x, real y) effect
    native AddSpecialEffectLoc(string modelName, location where) effect
    native AddSpecialEffectTarget(string modelName, widget targetWidget, string attachPointName) effect
    native DestroyEffect(effect whichEffect) nothing
    native AddSpellEffect(string abilityString, effecttype t, real x, real y) effect
    native AddSpellEffectLoc(string abilityString, effecttype t,location where) effect
    native AddSpellEffectById(integer abilityId, effecttype t,real x, real y) effect
    native AddSpellEffectByIdLoc(integer abilityId, effecttype t,location where) effect
    native AddSpellEffectTarget(string modelName, effecttype t, widget targetWidget, string attachPoint) effect
    native AddSpellEffectTargetById(integer abilityId, effecttype t, widget targetWidget, string attachPoint) effect
    native GetTerrainCliffLevel(real x, real y) integer
    native SetWaterBaseColor(integer red, integer green, integer blue, integer alpha) nothing
    native SetBlight(player whichPlayer, real x, real y, real radius, boolean addBlight) nothing
    native SetBlightRect(player whichPlayer, rect r, boolean addBlight) nothing
    native SetBlightPoint(player whichPlayer, real x, real y, boolean addBlight) nothing
    native SetBlightLoc(player whichPlayer, location whichLocation, real radius, boolean addBlight) nothing
    native CreateBlightedGoldmine(player id, real x, real y, real face) unit
    native SetDoodadAnimation(real x, real y, real radius, integer doodadID, boolean nearestOnly, string animName, boolean animRandom) nothing
    native SetDoodadAnimationRect(rect r, integer doodadID, string animName, boolean animRandom) nothing
    native StartMeleeAI(player num, string script) nothing
    native StartCampaignAI(player num, string script) nothing
    native CommandAI(player num, integer command, integer data) nothing
    native PauseCompAI(player p,   boolean pause) nothing
    native GetAIDifficulty(player num) aidifficulty
    native RemoveGuardPosition(unit hUnit) nothing
    native RecycleGuardPosition(unit hUnit) nothing
    native RemoveAllGuardPositions(player num) nothing
    native Cheat(string cheatStr) nothing
    native IsNoVictoryCheat(nothing) boolean
    native IsNoDefeatCheat(nothing) boolean
    native Preload(string filename) nothing
    native PreloadEnd(real timeout) nothing
    native PreloadStart(nothing) nothing
    native PreloadRefresh(nothing) nothing
    native PreloadEndEx(nothing) nothing
    native PreloadGenClear(nothing) nothing
    native PreloadGenStart(nothing) nothing
    native PreloadGenEnd(string filename) nothing
    native Preloader(string filename) nothing
  </Natives>
  <BJs>
    var real bj_PI = 3.14159
    var real bj_E = 2.71828
    var real bj_CELLWIDTH = 128.0
    var real bj_CLIFFHEIGHT = 128.0
    var real bj_UNIT_FACING = 270.0
    var real bj_RADTODEG = 180.0/bj_PI
    var real bj_DEGTORAD = bj_PI/180.0
    var real bj_TEXT_DELAY_QUEST = 20.00
    var real bj_TEXT_DELAY_QUESTUPDATE = 20.00
    var real bj_TEXT_DELAY_QUESTDONE = 20.00
    var real bj_TEXT_DELAY_QUESTFAILED = 20.00
    var real bj_TEXT_DELAY_QUESTREQUIREMENT = 20.00
    var real bj_TEXT_DELAY_MISSIONFAILED = 20.00
    var real bj_TEXT_DELAY_ALWAYSHINT = 12.00
    var real bj_TEXT_DELAY_HINT = 12.00
    var real bj_TEXT_DELAY_SECRET = 10.00
    var real bj_TEXT_DELAY_UNITACQUIRED = 15.00
    var real bj_TEXT_DELAY_UNITAVAILABLE = 10.00
    var real bj_TEXT_DELAY_ITEMACQUIRED = 10.00
    var real bj_TEXT_DELAY_WARNING = 12.00
    var real bj_QUEUE_DELAY_QUEST = 5.00
    var real bj_QUEUE_DELAY_HINT = 5.00
    var real bj_QUEUE_DELAY_SECRET = 3.00
    var real bj_HANDICAP_EASY = 60.00
    var real bj_GAME_STARTED_THRESHOLD = 0.01
    var real bj_WAIT_FOR_COND_MIN_INTERVAL = 0.10
    var real bj_POLLED_WAIT_INTERVAL = 0.10
    var real bj_POLLED_WAIT_SKIP_THRESHOLD = 2.00
    var integer bj_MAX_INVENTORY = 6
    var integer bj_MAX_PLAYERS = 12
    var integer bj_PLAYER_NEUTRAL_VICTIM = 13
    var integer bj_PLAYER_NEUTRAL_EXTRA = 14
    var integer bj_MAX_PLAYER_SLOTS = 16
    var integer bj_MAX_SKELETONS = 25
    var integer bj_MAX_STOCK_ITEM_SLOTS = 11
    var integer bj_MAX_STOCK_UNIT_SLOTS = 11
    var integer bj_MAX_ITEM_LEVEL = 10
    var real bj_TOD_DAWN = 6.00
    var real bj_TOD_DUSK = 18.00
    var real bj_MELEE_STARTING_TOD = 8.00
    var integer bj_MELEE_STARTING_GOLD_V0 = 750
    var integer bj_MELEE_STARTING_GOLD_V1 = 500
    var integer bj_MELEE_STARTING_LUMBER_V0 = 200
    var integer bj_MELEE_STARTING_LUMBER_V1 = 150
    var integer bj_MELEE_STARTING_HERO_TOKENS = 1
    var integer bj_MELEE_HERO_LIMIT = 3
    var integer bj_MELEE_HERO_TYPE_LIMIT = 1
    var real bj_MELEE_MINE_SEARCH_RADIUS = 2000
    var real bj_MELEE_CLEAR_UNITS_RADIUS = 1500
    var real bj_MELEE_CRIPPLE_TIMEOUT = 120.00
    var real bj_MELEE_CRIPPLE_MSG_DURATION = 20.00
    var integer bj_MELEE_MAX_TWINKED_HEROES_V0 = 3
    var integer bj_MELEE_MAX_TWINKED_HEROES_V1 = 1
    var real bj_CREEP_ITEM_DELAY = 0.50
    var real bj_STOCK_RESTOCK_INITIAL_DELAY = 120
    var real bj_STOCK_RESTOCK_INTERVAL = 30
    var integer bj_STOCK_MAX_ITERATIONS = 20
    var integer bj_MAX_DEST_IN_REGION_EVENTS = 64
    var integer bj_CAMERA_MIN_FARZ = 100
    var integer bj_CAMERA_DEFAULT_DISTANCE = 1650
    var integer bj_CAMERA_DEFAULT_FARZ = 5000
    var integer bj_CAMERA_DEFAULT_AOA = 304
    var integer bj_CAMERA_DEFAULT_FOV = 70
    var integer bj_CAMERA_DEFAULT_ROLL = 0
    var integer bj_CAMERA_DEFAULT_ROTATION = 90
    var real bj_RESCUE_PING_TIME = 2.00
    var real bj_NOTHING_SOUND_DURATION = 5.00
    var real bj_TRANSMISSION_PING_TIME = 1.00
    var integer bj_TRANSMISSION_IND_RED = 255
    var integer bj_TRANSMISSION_IND_BLUE = 255
    var integer bj_TRANSMISSION_IND_GREEN = 255
    var integer bj_TRANSMISSION_IND_ALPHA = 255
    var real bj_TRANSMISSION_PORT_HANGTIME = 1.50
    var real bj_CINEMODE_INTERFACEFADE = 0.50
    var gamespeed bj_CINEMODE_GAMESPEED = MAP_SPEED_NORMAL
    var real bj_CINEMODE_VOLUME_UNITMOVEMENT = 0.40
    var real bj_CINEMODE_VOLUME_UNITSOUNDS = 0.00
    var real bj_CINEMODE_VOLUME_COMBAT = 0.40
    var real bj_CINEMODE_VOLUME_SPELLS = 0.40
    var real bj_CINEMODE_VOLUME_UI = 0.00
    var real bj_CINEMODE_VOLUME_MUSIC = 0.55
    var real bj_CINEMODE_VOLUME_AMBIENTSOUNDS = 1.00
    var real bj_CINEMODE_VOLUME_FIRE = 0.60
    var real bj_SPEECH_VOLUME_UNITMOVEMENT = 0.25
    var real bj_SPEECH_VOLUME_UNITSOUNDS = 0.00
    var real bj_SPEECH_VOLUME_COMBAT = 0.25
    var real bj_SPEECH_VOLUME_SPELLS = 0.25
    var real bj_SPEECH_VOLUME_UI = 0.00
    var real bj_SPEECH_VOLUME_MUSIC = 0.55
    var real bj_SPEECH_VOLUME_AMBIENTSOUNDS = 1.00
    var real bj_SPEECH_VOLUME_FIRE = 0.60
    var real bj_SMARTPAN_TRESHOLD_PAN = 500
    var real bj_SMARTPAN_TRESHOLD_SNAP = 3500
    var integer bj_MAX_QUEUED_TRIGGERS = 100
    var real bj_QUEUED_TRIGGER_TIMEOUT = 180.00
    var integer bj_CAMPAIGN_INDEX_T = 0
    var integer bj_CAMPAIGN_INDEX_H = 1
    var integer bj_CAMPAIGN_INDEX_U = 2
    var integer bj_CAMPAIGN_INDEX_O = 3
    var integer bj_CAMPAIGN_INDEX_N = 4
    var integer bj_CAMPAIGN_INDEX_XN = 5
    var integer bj_CAMPAIGN_INDEX_XH = 6
    var integer bj_CAMPAIGN_INDEX_XU = 7
    var integer bj_CAMPAIGN_INDEX_XO = 8
    var integer bj_CAMPAIGN_OFFSET_T = 0
    var integer bj_CAMPAIGN_OFFSET_H = 1
    var integer bj_CAMPAIGN_OFFSET_U = 2
    var integer bj_CAMPAIGN_OFFSET_O = 3
    var integer bj_CAMPAIGN_OFFSET_N = 4
    var integer bj_CAMPAIGN_OFFSET_XN = 0
    var integer bj_CAMPAIGN_OFFSET_XH = 1
    var integer bj_CAMPAIGN_OFFSET_XU = 2
    var integer bj_CAMPAIGN_OFFSET_XO = 3
    var integer bj_MISSION_INDEX_T00 = bj_CAMPAIGN_OFFSET_T * 1000 + 0
    var integer bj_MISSION_INDEX_T01 = bj_CAMPAIGN_OFFSET_T * 1000 + 1
    var integer bj_MISSION_INDEX_H00 = bj_CAMPAIGN_OFFSET_H * 1000 + 0
    var integer bj_MISSION_INDEX_H01 = bj_CAMPAIGN_OFFSET_H * 1000 + 1
    var integer bj_MISSION_INDEX_H02 = bj_CAMPAIGN_OFFSET_H * 1000 + 2
    var integer bj_MISSION_INDEX_H03 = bj_CAMPAIGN_OFFSET_H * 1000 + 3
    var integer bj_MISSION_INDEX_H04 = bj_CAMPAIGN_OFFSET_H * 1000 + 4
    var integer bj_MISSION_INDEX_H05 = bj_CAMPAIGN_OFFSET_H * 1000 + 5
    var integer bj_MISSION_INDEX_H06 = bj_CAMPAIGN_OFFSET_H * 1000 + 6
    var integer bj_MISSION_INDEX_H07 = bj_CAMPAIGN_OFFSET_H * 1000 + 7
    var integer bj_MISSION_INDEX_H08 = bj_CAMPAIGN_OFFSET_H * 1000 + 8
    var integer bj_MISSION_INDEX_H09 = bj_CAMPAIGN_OFFSET_H * 1000 + 9
    var integer bj_MISSION_INDEX_H10 = bj_CAMPAIGN_OFFSET_H * 1000 + 10
    var integer bj_MISSION_INDEX_H11 = bj_CAMPAIGN_OFFSET_H * 1000 + 11
    var integer bj_MISSION_INDEX_U00 = bj_CAMPAIGN_OFFSET_U * 1000 + 0
    var integer bj_MISSION_INDEX_U01 = bj_CAMPAIGN_OFFSET_U * 1000 + 1
    var integer bj_MISSION_INDEX_U02 = bj_CAMPAIGN_OFFSET_U * 1000 + 2
    var integer bj_MISSION_INDEX_U03 = bj_CAMPAIGN_OFFSET_U * 1000 + 3
    var integer bj_MISSION_INDEX_U05 = bj_CAMPAIGN_OFFSET_U * 1000 + 4
    var integer bj_MISSION_INDEX_U07 = bj_CAMPAIGN_OFFSET_U * 1000 + 5
    var integer bj_MISSION_INDEX_U08 = bj_CAMPAIGN_OFFSET_U * 1000 + 6
    var integer bj_MISSION_INDEX_U09 = bj_CAMPAIGN_OFFSET_U * 1000 + 7
    var integer bj_MISSION_INDEX_U10 = bj_CAMPAIGN_OFFSET_U * 1000 + 8
    var integer bj_MISSION_INDEX_U11 = bj_CAMPAIGN_OFFSET_U * 1000 + 9
    var integer bj_MISSION_INDEX_O00 = bj_CAMPAIGN_OFFSET_O * 1000 + 0
    var integer bj_MISSION_INDEX_O01 = bj_CAMPAIGN_OFFSET_O * 1000 + 1
    var integer bj_MISSION_INDEX_O02 = bj_CAMPAIGN_OFFSET_O * 1000 + 2
    var integer bj_MISSION_INDEX_O03 = bj_CAMPAIGN_OFFSET_O * 1000 + 3
    var integer bj_MISSION_INDEX_O04 = bj_CAMPAIGN_OFFSET_O * 1000 + 4
    var integer bj_MISSION_INDEX_O05 = bj_CAMPAIGN_OFFSET_O * 1000 + 5
    var integer bj_MISSION_INDEX_O06 = bj_CAMPAIGN_OFFSET_O * 1000 + 6
    var integer bj_MISSION_INDEX_O07 = bj_CAMPAIGN_OFFSET_O * 1000 + 7
    var integer bj_MISSION_INDEX_O08 = bj_CAMPAIGN_OFFSET_O * 1000 + 8
    var integer bj_MISSION_INDEX_O09 = bj_CAMPAIGN_OFFSET_O * 1000 + 9
    var integer bj_MISSION_INDEX_O10 = bj_CAMPAIGN_OFFSET_O * 1000 + 10
    var integer bj_MISSION_INDEX_N00 = bj_CAMPAIGN_OFFSET_N * 1000 + 0
    var integer bj_MISSION_INDEX_N01 = bj_CAMPAIGN_OFFSET_N * 1000 + 1
    var integer bj_MISSION_INDEX_N02 = bj_CAMPAIGN_OFFSET_N * 1000 + 2
    var integer bj_MISSION_INDEX_N03 = bj_CAMPAIGN_OFFSET_N * 1000 + 3
    var integer bj_MISSION_INDEX_N04 = bj_CAMPAIGN_OFFSET_N * 1000 + 4
    var integer bj_MISSION_INDEX_N05 = bj_CAMPAIGN_OFFSET_N * 1000 + 5
    var integer bj_MISSION_INDEX_N06 = bj_CAMPAIGN_OFFSET_N * 1000 + 6
    var integer bj_MISSION_INDEX_N07 = bj_CAMPAIGN_OFFSET_N * 1000 + 7
    var integer bj_MISSION_INDEX_N08 = bj_CAMPAIGN_OFFSET_N * 1000 + 8
    var integer bj_MISSION_INDEX_N09 = bj_CAMPAIGN_OFFSET_N * 1000 + 9
    var integer bj_MISSION_INDEX_XN00 = bj_CAMPAIGN_OFFSET_XN * 1000 + 0
    var integer bj_MISSION_INDEX_XN01 = bj_CAMPAIGN_OFFSET_XN * 1000 + 1
    var integer bj_MISSION_INDEX_XN02 = bj_CAMPAIGN_OFFSET_XN * 1000 + 2
    var integer bj_MISSION_INDEX_XN03 = bj_CAMPAIGN_OFFSET_XN * 1000 + 3
    var integer bj_MISSION_INDEX_XN04 = bj_CAMPAIGN_OFFSET_XN * 1000 + 4
    var integer bj_MISSION_INDEX_XN05 = bj_CAMPAIGN_OFFSET_XN * 1000 + 5
    var integer bj_MISSION_INDEX_XN06 = bj_CAMPAIGN_OFFSET_XN * 1000 + 6
    var integer bj_MISSION_INDEX_XN07 = bj_CAMPAIGN_OFFSET_XN * 1000 + 7
    var integer bj_MISSION_INDEX_XN08 = bj_CAMPAIGN_OFFSET_XN * 1000 + 8
    var integer bj_MISSION_INDEX_XN09 = bj_CAMPAIGN_OFFSET_XN * 1000 + 9
    var integer bj_MISSION_INDEX_XN10 = bj_CAMPAIGN_OFFSET_XN * 1000 + 10
    var integer bj_MISSION_INDEX_XH00 = bj_CAMPAIGN_OFFSET_XH * 1000 + 0
    var integer bj_MISSION_INDEX_XH01 = bj_CAMPAIGN_OFFSET_XH * 1000 + 1
    var integer bj_MISSION_INDEX_XH02 = bj_CAMPAIGN_OFFSET_XH * 1000 + 2
    var integer bj_MISSION_INDEX_XH03 = bj_CAMPAIGN_OFFSET_XH * 1000 + 3
    var integer bj_MISSION_INDEX_XH04 = bj_CAMPAIGN_OFFSET_XH * 1000 + 4
    var integer bj_MISSION_INDEX_XH05 = bj_CAMPAIGN_OFFSET_XH * 1000 + 5
    var integer bj_MISSION_INDEX_XH06 = bj_CAMPAIGN_OFFSET_XH * 1000 + 6
    var integer bj_MISSION_INDEX_XH07 = bj_CAMPAIGN_OFFSET_XH * 1000 + 7
    var integer bj_MISSION_INDEX_XH08 = bj_CAMPAIGN_OFFSET_XH * 1000 + 8
    var integer bj_MISSION_INDEX_XH09 = bj_CAMPAIGN_OFFSET_XH * 1000 + 9
    var integer bj_MISSION_INDEX_XU00 = bj_CAMPAIGN_OFFSET_XU * 1000 + 0
    var integer bj_MISSION_INDEX_XU01 = bj_CAMPAIGN_OFFSET_XU * 1000 + 1
    var integer bj_MISSION_INDEX_XU02 = bj_CAMPAIGN_OFFSET_XU * 1000 + 2
    var integer bj_MISSION_INDEX_XU03 = bj_CAMPAIGN_OFFSET_XU * 1000 + 3
    var integer bj_MISSION_INDEX_XU04 = bj_CAMPAIGN_OFFSET_XU * 1000 + 4
    var integer bj_MISSION_INDEX_XU05 = bj_CAMPAIGN_OFFSET_XU * 1000 + 5
    var integer bj_MISSION_INDEX_XU06 = bj_CAMPAIGN_OFFSET_XU * 1000 + 6
    var integer bj_MISSION_INDEX_XU07 = bj_CAMPAIGN_OFFSET_XU * 1000 + 7
    var integer bj_MISSION_INDEX_XU08 = bj_CAMPAIGN_OFFSET_XU * 1000 + 8
    var integer bj_MISSION_INDEX_XU09 = bj_CAMPAIGN_OFFSET_XU * 1000 + 9
    var integer bj_MISSION_INDEX_XU10 = bj_CAMPAIGN_OFFSET_XU * 1000 + 10
    var integer bj_MISSION_INDEX_XU11 = bj_CAMPAIGN_OFFSET_XU * 1000 + 11
    var integer bj_MISSION_INDEX_XU12 = bj_CAMPAIGN_OFFSET_XU * 1000 + 12
    var integer bj_MISSION_INDEX_XU13 = bj_CAMPAIGN_OFFSET_XU * 1000 + 13
    var integer bj_MISSION_INDEX_XO00 = bj_CAMPAIGN_OFFSET_XO * 1000 + 0
    var integer bj_CINEMATICINDEX_TOP = 0
    var integer bj_CINEMATICINDEX_HOP = 1
    var integer bj_CINEMATICINDEX_HED = 2
    var integer bj_CINEMATICINDEX_OOP = 3
    var integer bj_CINEMATICINDEX_OED = 4
    var integer bj_CINEMATICINDEX_UOP = 5
    var integer bj_CINEMATICINDEX_UED = 6
    var integer bj_CINEMATICINDEX_NOP = 7
    var integer bj_CINEMATICINDEX_NED = 8
    var integer bj_CINEMATICINDEX_XOP = 9
    var integer bj_CINEMATICINDEX_XED = 10
    var integer bj_ALLIANCE_UNALLIED = 0
    var integer bj_ALLIANCE_UNALLIED_VISION = 1
    var integer bj_ALLIANCE_ALLIED = 2
    var integer bj_ALLIANCE_ALLIED_VISION = 3
    var integer bj_ALLIANCE_ALLIED_UNITS = 4
    var integer bj_ALLIANCE_ALLIED_ADVUNITS = 5
    var integer bj_ALLIANCE_NEUTRAL = 6
    var integer bj_ALLIANCE_NEUTRAL_VISION = 7
    var integer bj_KEYEVENTTYPE_DEPRESS = 0
    var integer bj_KEYEVENTTYPE_RELEASE = 1
    var integer bj_KEYEVENTKEY_LEFT = 0
    var integer bj_KEYEVENTKEY_RIGHT = 1
    var integer bj_KEYEVENTKEY_DOWN = 2
    var integer bj_KEYEVENTKEY_UP = 3
    var integer bj_TIMETYPE_ADD = 0
    var integer bj_TIMETYPE_SET = 1
    var integer bj_TIMETYPE_SUB = 2
    var integer bj_CAMERABOUNDS_ADJUST_ADD = 0
    var integer bj_CAMERABOUNDS_ADJUST_SUB = 1
    var integer bj_QUESTTYPE_REQ_DISCOVERED = 0
    var integer bj_QUESTTYPE_REQ_UNDISCOVERED = 1
    var integer bj_QUESTTYPE_OPT_DISCOVERED = 2
    var integer bj_QUESTTYPE_OPT_UNDISCOVERED = 3
    var integer bj_QUESTMESSAGE_DISCOVERED = 0
    var integer bj_QUESTMESSAGE_UPDATED = 1
    var integer bj_QUESTMESSAGE_COMPLETED = 2
    var integer bj_QUESTMESSAGE_FAILED = 3
    var integer bj_QUESTMESSAGE_REQUIREMENT = 4
    var integer bj_QUESTMESSAGE_MISSIONFAILED = 5
    var integer bj_QUESTMESSAGE_ALWAYSHINT = 6
    var integer bj_QUESTMESSAGE_HINT = 7
    var integer bj_QUESTMESSAGE_SECRET = 8
    var integer bj_QUESTMESSAGE_UNITACQUIRED = 9
    var integer bj_QUESTMESSAGE_UNITAVAILABLE = 10
    var integer bj_QUESTMESSAGE_ITEMACQUIRED = 11
    var integer bj_QUESTMESSAGE_WARNING = 12
    var integer bj_SORTTYPE_SORTBYVALUE = 0
    var integer bj_SORTTYPE_SORTBYPLAYER = 1
    var integer bj_SORTTYPE_SORTBYLABEL = 2
    var integer bj_CINEFADETYPE_FADEIN = 0
    var integer bj_CINEFADETYPE_FADEOUT = 1
    var integer bj_CINEFADETYPE_FADEOUTIN = 2
    var integer bj_REMOVEBUFFS_POSITIVE = 0
    var integer bj_REMOVEBUFFS_NEGATIVE = 1
    var integer bj_REMOVEBUFFS_ALL = 2
    var integer bj_REMOVEBUFFS_NONTLIFE = 3
    var integer bj_BUFF_POLARITY_POSITIVE = 0
    var integer bj_BUFF_POLARITY_NEGATIVE = 1
    var integer bj_BUFF_POLARITY_EITHER = 2
    var integer bj_BUFF_RESIST_MAGIC = 0
    var integer bj_BUFF_RESIST_PHYSICAL = 1
    var integer bj_BUFF_RESIST_EITHER = 2
    var integer bj_BUFF_RESIST_BOTH = 3
    var integer bj_HEROSTAT_STR = 0
    var integer bj_HEROSTAT_AGI = 1
    var integer bj_HEROSTAT_INT = 2
    var integer bj_MODIFYMETHOD_ADD = 0
    var integer bj_MODIFYMETHOD_SUB = 1
    var integer bj_MODIFYMETHOD_SET = 2
    var integer bj_UNIT_STATE_METHOD_ABSOLUTE = 0
    var integer bj_UNIT_STATE_METHOD_RELATIVE = 1
    var integer bj_UNIT_STATE_METHOD_DEFAULTS = 2
    var integer bj_UNIT_STATE_METHOD_MAXIMUM = 3
    var integer bj_GATEOPERATION_CLOSE = 0
    var integer bj_GATEOPERATION_OPEN = 1
    var integer bj_GATEOPERATION_DESTROY = 2
    var integer bj_GAMECACHE_BOOLEAN = 0
    var integer bj_GAMECACHE_INTEGER = 1
    var integer bj_GAMECACHE_REAL = 2
    var integer bj_GAMECACHE_UNIT = 3
    var integer bj_GAMECACHE_STRING = 4
    var integer bj_ITEM_STATUS_HIDDEN = 0
    var integer bj_ITEM_STATUS_OWNED = 1
    var integer bj_ITEM_STATUS_INVULNERABLE = 2
    var integer bj_ITEM_STATUS_POWERUP = 3
    var integer bj_ITEM_STATUS_SELLABLE = 4
    var integer bj_ITEM_STATUS_PAWNABLE = 5
    var integer bj_ITEMCODE_STATUS_POWERUP = 0
    var integer bj_ITEMCODE_STATUS_SELLABLE = 1
    var integer bj_ITEMCODE_STATUS_PAWNABLE = 2
    var integer bj_MINIMAPPINGSTYLE_SIMPLE = 0
    var integer bj_MINIMAPPINGSTYLE_FLASHY = 1
    var integer bj_MINIMAPPINGSTYLE_ATTACK = 2
    var real bj_CORPSE_MAX_DEATH_TIME = 8.00
    var integer bj_CORPSETYPE_FLESH = 0
    var integer bj_CORPSETYPE_BONE = 1
    var integer bj_ELEVATOR_BLOCKER_CODE = 'DTep'
    var integer bj_ELEVATOR_CODE01 = 'DTrf'
    var integer bj_ELEVATOR_CODE02 = 'DTrx'
    var integer bj_ELEVATOR_WALL_TYPE_ALL = 0
    var integer bj_ELEVATOR_WALL_TYPE_EAST = 1
    var integer bj_ELEVATOR_WALL_TYPE_NORTH = 2
    var integer bj_ELEVATOR_WALL_TYPE_SOUTH = 3
    var integer bj_ELEVATOR_WALL_TYPE_WEST = 4
    var force bj_FORCE_ALL_PLAYERS = null
    var force array bj_FORCE_PLAYER
    var integer bj_MELEE_MAX_TWINKED_HEROES = 0
    var rect bj_mapInitialPlayableArea = null
    var rect bj_mapInitialCameraBounds = null
    var integer bj_forLoopAIndex = 0
    var integer bj_forLoopBIndex = 0
    var integer bj_forLoopAIndexEnd = 0
    var integer bj_forLoopBIndexEnd = 0
    var boolean bj_slotControlReady = false
    var boolean array bj_slotControlUsed
    var mapcontrol array bj_slotControl
    var timer bj_gameStartedTimer = null
    var boolean bj_gameStarted = false
    var timer bj_volumeGroupsTimer = CreateTimer()
    var boolean bj_isSinglePlayer = false
    var trigger bj_dncSoundsDay = null
    var trigger bj_dncSoundsNight = null
    var sound bj_dayAmbientSound = null
    var sound bj_nightAmbientSound = null
    var trigger bj_dncSoundsDawn = null
    var trigger bj_dncSoundsDusk = null
    var sound bj_dawnSound = null
    var sound bj_duskSound = null
    var boolean bj_useDawnDuskSounds = true
    var boolean bj_dncIsDaytime = false
    var sound bj_rescueSound = null
    var sound bj_questDiscoveredSound = null
    var sound bj_questUpdatedSound = null
    var sound bj_questCompletedSound = null
    var sound bj_questFailedSound = null
    var sound bj_questHintSound = null
    var sound bj_questSecretSound = null
    var sound bj_questItemAcquiredSound = null
    var sound bj_questWarningSound = null
    var sound bj_victoryDialogSound = null
    var sound bj_defeatDialogSound = null
    var trigger bj_stockItemPurchased = null
    var timer bj_stockUpdateTimer = null
    var boolean array bj_stockAllowedPermanent
    var boolean array bj_stockAllowedCharged
    var boolean array bj_stockAllowedArtifact
    var integer bj_stockPickedItemLevel = 0
    var itemtype bj_stockPickedItemType
    var trigger bj_meleeVisibilityTrained = null
    var boolean bj_meleeVisibilityIsDay = true
    var boolean bj_meleeGrantHeroItems = false
    var location bj_meleeNearestMineToLoc = null
    var unit bj_meleeNearestMine = null
    var real bj_meleeNearestMineDist = 0.00
    var boolean bj_meleeGameOver = false
    var boolean array bj_meleeDefeated
    var boolean array bj_meleeVictoried
    var unit array bj_ghoul
    var timer array bj_crippledTimer
    var timerdialog array bj_crippledTimerWindows
    var boolean array bj_playerIsCrippled
    var boolean array bj_playerIsExposed
    var boolean bj_finishSoonAllExposed = false
    var timerdialog bj_finishSoonTimerDialog = null
    var integer array bj_meleeTwinkedHeroes
    var trigger bj_rescueUnitBehavior = null
    var boolean bj_rescueChangeColorUnit = true
    var boolean bj_rescueChangeColorBldg = true
    var timer bj_cineSceneEndingTimer = null
    var sound bj_cineSceneLastSound = null
    var trigger bj_cineSceneBeingSkipped = null
    var gamespeed bj_cineModePriorSpeed = MAP_SPEED_NORMAL
    var boolean bj_cineModePriorFogSetting = false
    var boolean bj_cineModePriorMaskSetting = false
    var boolean bj_cineModeAlreadyIn = false
    var boolean bj_cineModePriorDawnDusk = false
    var integer bj_cineModeSavedSeed = 0
    var timer bj_cineFadeFinishTimer = null
    var timer bj_cineFadeContinueTimer = null
    var real bj_cineFadeContinueRed = 0
    var real bj_cineFadeContinueGreen = 0
    var real bj_cineFadeContinueBlue = 0
    var real bj_cineFadeContinueTrans = 0
    var real bj_cineFadeContinueDuration = 0
    var string bj_cineFadeContinueTex = ""
    var integer bj_queuedExecTotal = 0
    var trigger array bj_queuedExecTriggers
    var boolean array bj_queuedExecUseConds
    var timer bj_queuedExecTimeoutTimer = CreateTimer()
    var trigger bj_queuedExecTimeout = null
    var integer bj_destInRegionDiesCount = 0
    var trigger bj_destInRegionDiesTrig = null
    var integer bj_groupCountUnits = 0
    var integer bj_forceCountPlayers = 0
    var integer bj_groupEnumTypeId = 0
    var player bj_groupEnumOwningPlayer = null
    var group bj_groupAddGroupDest = null
    var group bj_groupRemoveGroupDest = null
    var integer bj_groupRandomConsidered = 0
    var unit bj_groupRandomCurrentPick = null
    var group bj_groupLastCreatedDest = null
    var group bj_randomSubGroupGroup = null
    var integer bj_randomSubGroupWant = 0
    var integer bj_randomSubGroupTotal = 0
    var real bj_randomSubGroupChance = 0
    var integer bj_destRandomConsidered = 0
    var destructable bj_destRandomCurrentPick = null
    var destructable bj_elevatorWallBlocker = null
    var destructable bj_elevatorNeighbor = null
    var integer bj_itemRandomConsidered = 0
    var item bj_itemRandomCurrentPick = null
    var integer bj_forceRandomConsidered = 0
    var player bj_forceRandomCurrentPick = null
    var unit bj_makeUnitRescuableUnit = null
    var boolean bj_makeUnitRescuableFlag = true
    var boolean bj_pauseAllUnitsFlag = true
    var location bj_enumDestructableCenter = null
    var real bj_enumDestructableRadius = 0
    var playercolor bj_setPlayerTargetColor = null
    var boolean bj_isUnitGroupDeadResult = true
    var boolean bj_isUnitGroupEmptyResult = true
    var boolean bj_isUnitGroupInRectResult = true
    var rect bj_isUnitGroupInRectRect = null
    var boolean bj_changeLevelShowScores = false
    var string bj_changeLevelMapName = null
    var group bj_suspendDecayFleshGroup = CreateGroup()
    var group bj_suspendDecayBoneGroup = CreateGroup()
    var timer bj_delayedSuspendDecayTimer = CreateTimer()
    var trigger bj_delayedSuspendDecayTrig = null
    var integer bj_livingPlayerUnitsTypeId = 0
    var widget bj_lastDyingWidget = null
    var integer bj_randDistCount = 0
    var integer array bj_randDistID
    var integer array bj_randDistChance
    var unit bj_lastCreatedUnit = null
    var item bj_lastCreatedItem = null
    var item bj_lastRemovedItem = null
    var unit bj_lastHauntedGoldMine = null
    var destructable bj_lastCreatedDestructable = null
    var group bj_lastCreatedGroup = CreateGroup()
    var fogmodifier bj_lastCreatedFogModifier = null
    var effect bj_lastCreatedEffect = null
    var weathereffect bj_lastCreatedWeatherEffect = null
    var terraindeformation bj_lastCreatedTerrainDeformation = null
    var quest bj_lastCreatedQuest = null
    var questitem bj_lastCreatedQuestItem = null
    var defeatcondition bj_lastCreatedDefeatCondition = null
    var timer bj_lastStartedTimer = CreateTimer()
    var timerdialog bj_lastCreatedTimerDialog = null
    var leaderboard bj_lastCreatedLeaderboard = null
    var sound bj_lastPlayedSound = null
    var string bj_lastPlayedMusic = ""
    var real bj_lastTransmissionDuration = 0
    var gamecache bj_lastCreatedGameCache = null
    var unit bj_lastLoadedUnit = null
    var button bj_lastCreatedButton = null
    var unit bj_lastReplacedUnit = null
    var texttag bj_lastCreatedTextTag = null
    var boolexpr filterIssueHauntOrderAtLocBJ = null
    var boolexpr filterEnumDestructablesInCircleBJ = null
    var boolexpr filterGetUnitsInRectOfPlayer = null
    var boolexpr filterGetUnitsOfTypeIdAll = null
    var boolexpr filterGetUnitsOfPlayerAndTypeId = null
    var boolexpr filterMeleeTrainedUnitIsHeroBJ = null
    var boolexpr filterLivingPlayerUnitsOfTypeId = null
    var boolean bj_wantDestroyGroup = false
    bj BJDebugMsg(string msg) nothing
    bj RMinBJ(real a, real b) real
    bj RMaxBJ(real a, real b) real
    bj RAbsBJ(real a) real
    bj RSignBJ(real a) real
    bj IMinBJ(integer a, integer b) integer
    bj IMaxBJ(integer a, integer b) integer
    bj IAbsBJ(integer a) integer
    bj ISignBJ(integer a) integer
    bj SinBJ(real degrees) real
    bj CosBJ(real degrees) real
    bj TanBJ(real degrees) real
    bj AsinBJ(real degrees) real
    bj AcosBJ(real degrees) real
    bj AtanBJ(real degrees) real
    bj Atan2BJ(real y, real x) real
    bj AngleBetweenPoints(location locA, location locB) real
    bj DistanceBetweenPoints(location locA, location locB) real
    bj PolarProjectionBJ(location source, real dist, real angle) location
    bj GetRandomDirectionDeg(nothing) real
    bj GetRandomPercentageBJ(nothing) real
    bj GetRandomLocInRect(rect whichRect) location
    bj ModuloInteger(integer dividend, integer divisor) integer
    bj ModuloReal(real dividend, real divisor) real
    bj OffsetLocation(location loc, real dx, real dy) location
    bj OffsetRectBJ(rect r, real dx, real dy) rect
    bj RectFromCenterSizeBJ(location center, real width, real height) rect
    bj RectContainsCoords(rect r, real x, real y) boolean
    bj RectContainsLoc(rect r, location loc) boolean
    bj RectContainsUnit(rect r, unit whichUnit) boolean
    bj RectContainsItem(item whichItem, rect r) boolean
    bj ConditionalTriggerExecute(trigger trig) nothing
    bj TriggerExecuteBJ(trigger trig, boolean checkConditions) boolean
    bj PostTriggerExecuteBJ(trigger trig, boolean checkConditions) boolean
    bj QueuedTriggerCheck(nothing) nothing
    bj QueuedTriggerGetIndex(trigger trig) integer
    bj QueuedTriggerRemoveByIndex(integer trigIndex) boolean
    bj QueuedTriggerAttemptExec(nothing) boolean
    bj QueuedTriggerAddBJ(trigger trig, boolean checkConditions) boolean
    bj QueuedTriggerRemoveBJ(trigger trig) nothing
    bj QueuedTriggerDoneBJ(nothing) nothing
    bj QueuedTriggerClearBJ(nothing) nothing
    bj QueuedTriggerClearInactiveBJ(nothing) nothing
    bj QueuedTriggerCountBJ(nothing) integer
    bj IsTriggerQueueEmptyBJ(nothing) boolean
    bj IsTriggerQueuedBJ(trigger trig) boolean
    bj GetForLoopIndexA(nothing) integer
    bj SetForLoopIndexA(integer newIndex) nothing
    bj GetForLoopIndexB(nothing) integer
    bj SetForLoopIndexB(integer newIndex) nothing
    bj PolledWait(real duration) nothing
    bj IntegerTertiaryOp(boolean flag, integer valueA, integer valueB) integer
    bj DoNothing(nothing) nothing
    bj CommentString(string commentString) nothing
    bj StringIdentity(string theString) string
    bj GetBooleanAnd(boolean valueA, boolean valueB) boolean
    bj GetBooleanOr(boolean valueA, boolean valueB) boolean
    bj PercentToInt(real percentage, integer max) integer
    bj PercentTo255(real percentage) integer
    bj GetTimeOfDay(nothing) real
    bj SetTimeOfDay(real whatTime) nothing
    bj SetTimeOfDayScalePercentBJ(real scalePercent) nothing
    bj GetTimeOfDayScalePercentBJ(nothing) real
    bj PlaySound(string soundName) nothing
    bj CompareLocationsBJ(location A, location B) boolean
    bj CompareRectsBJ(rect A, rect B) boolean
    bj GetRectFromCircleBJ(location center, real radius) rect
    bj GetCurrentCameraSetup(nothing) camerasetup
    bj CameraSetupApplyForPlayer(boolean doPan, camerasetup whichSetup, player whichPlayer, real duration) nothing
    bj CameraSetupGetFieldSwap(camerafield whichField, camerasetup whichSetup) real
    bj SetCameraFieldForPlayer(player whichPlayer, camerafield whichField, real value, real duration) nothing
    bj SetCameraTargetControllerNoZForPlayer(player whichPlayer, unit whichUnit, real xoffset, real yoffset, boolean inheritOrientation) nothing
    bj SetCameraPositionForPlayer(player whichPlayer, real x, real y) nothing
    bj SetCameraPositionLocForPlayer(player whichPlayer, location loc) nothing
    bj RotateCameraAroundLocBJ(real degrees, location loc, player whichPlayer, real duration) nothing
    bj PanCameraToForPlayer(player whichPlayer, real x, real y) nothing
    bj PanCameraToLocForPlayer(player whichPlayer, location loc) nothing
    bj PanCameraToTimedForPlayer(player whichPlayer, real x, real y, real duration) nothing
    bj PanCameraToTimedLocForPlayer(player whichPlayer, location loc, real duration) nothing
    bj PanCameraToTimedLocWithZForPlayer(player whichPlayer, location loc, real zOffset, real duration) nothing
    bj SmartCameraPanBJ(player whichPlayer, location loc, real duration) nothing
    bj SetCinematicCameraForPlayer(player whichPlayer, string cameraModelFile) nothing
    bj ResetToGameCameraForPlayer(player whichPlayer, real duration) nothing
    bj CameraSetSourceNoiseForPlayer(player whichPlayer, real magnitude, real velocity) nothing
    bj CameraSetTargetNoiseForPlayer(player whichPlayer, real magnitude, real velocity) nothing
    bj CameraSetEQNoiseForPlayer(player whichPlayer, real magnitude) nothing
    bj CameraClearNoiseForPlayer(player whichPlayer) nothing
    bj GetCurrentCameraBoundsMapRectBJ(nothing) rect
    bj GetCameraBoundsMapRect(nothing) rect
    bj GetPlayableMapRect(nothing) rect
    bj GetEntireMapRect(nothing) rect
    bj SetCameraBoundsToRect(rect r) nothing
    bj SetCameraBoundsToRectForPlayerBJ(player whichPlayer, rect r) nothing
    bj AdjustCameraBoundsBJ(integer adjustMethod, real dxWest, real dxEast, real dyNorth, real dySouth) nothing
    bj AdjustCameraBoundsForPlayerBJ(integer adjustMethod, player whichPlayer, real dxWest, real dxEast, real dyNorth, real dySouth) nothing
    bj SetCameraQuickPositionForPlayer(player whichPlayer, real x, real y) nothing
    bj SetCameraQuickPositionLocForPlayer(player whichPlayer, location loc) nothing
    bj SetCameraQuickPositionLoc(location loc) nothing
    bj StopCameraForPlayerBJ(player whichPlayer) nothing
    bj SetCameraOrientControllerForPlayerBJ(player whichPlayer, unit whichUnit, real xoffset, real yoffset) nothing
    bj CameraSetSmoothingFactorBJ(real factor) nothing
    bj CameraResetSmoothingFactorBJ(nothing) nothing
    bj DisplayTextToForce(force toForce, string message) nothing
    bj DisplayTimedTextToForce(force toForce, real duration, string message) nothing
    bj ClearTextMessagesBJ(force toForce) nothing
    bj SubStringBJ(string source, integer start, integer end) string
    bj TriggerRegisterTimerEventPeriodic(trigger trig, real timeout) event
    bj TriggerRegisterTimerEventSingle(trigger trig, real timeout) event
    bj TriggerRegisterTimerExpireEventBJ(trigger trig, timer t) event
    bj TriggerRegisterPlayerUnitEventSimple(trigger trig, player whichPlayer, playerunitevent whichEvent) event
    bj TriggerRegisterAnyUnitEventBJ(trigger trig, playerunitevent whichEvent) nothing
    bj TriggerRegisterPlayerSelectionEventBJ(trigger trig, player whichPlayer, boolean selected) event
    bj TriggerRegisterPlayerKeyEventBJ(trigger trig, player whichPlayer, integer keType, integer keKey) event
    bj TriggerRegisterPlayerEventVictory(trigger trig, player whichPlayer) event
    bj TriggerRegisterPlayerEventDefeat(trigger trig, player whichPlayer) event
    bj TriggerRegisterPlayerEventAllianceChanged(trigger trig, player whichPlayer) event
    bj TriggerRegisterPlayerEventEndCinematic(trigger trig, player whichPlayer) event
    bj TriggerRegisterGameStateEventTimeOfDay(trigger trig, limitop opcode, real limitval) event
    bj TriggerRegisterEnterRegionSimple(trigger trig, region whichRegion) event
    bj TriggerRegisterLeaveRegionSimple(trigger trig, region whichRegion) event
    bj TriggerRegisterEnterRectSimple(trigger trig, rect r) event
    bj TriggerRegisterLeaveRectSimple(trigger trig, rect r) event
    bj TriggerRegisterDistanceBetweenUnits(trigger trig, unit whichUnit, boolexpr condition, real range) event
    bj TriggerRegisterUnitInRangeSimple(trigger trig, real range, unit whichUnit) event
    bj TriggerRegisterUnitLifeEvent(trigger trig, unit whichUnit, limitop opcode, real limitval) event
    bj TriggerRegisterUnitManaEvent(trigger trig, unit whichUnit, limitop opcode, real limitval) event
    bj TriggerRegisterDialogEventBJ(trigger trig, dialog whichDialog) event
    bj TriggerRegisterShowSkillEventBJ(trigger trig) event
    bj TriggerRegisterBuildSubmenuEventBJ(trigger trig) event
    bj TriggerRegisterGameLoadedEventBJ(trigger trig) event
    bj TriggerRegisterGameSavedEventBJ(trigger trig) event
    bj RegisterDestDeathInRegionEnum(nothing) nothing
    bj TriggerRegisterDestDeathInRegionEvent(trigger trig, rect r) event
    bj AddWeatherEffectSaveLast(rect where, integer effectID) weathereffect
    bj GetLastCreatedWeatherEffect(nothing) weathereffect
    bj RemoveWeatherEffectBJ(weathereffect whichWeatherEffect) nothing
    bj TerrainDeformationCraterBJ(real duration, boolean permanent, location where, real radius, real depth) terraindeformation
    bj TerrainDeformationRippleBJ(real duration, boolean limitNeg, location where, real startRadius, real endRadius, real depth, real wavePeriod, real waveWidth) terraindeformation
    bj TerrainDeformationWaveBJ(real duration, location source, location target, real radius, real depth, real trailDelay) terraindeformation
    bj TerrainDeformationRandomBJ(real duration, location where, real radius, real minDelta, real maxDelta, real updateInterval) terraindeformation
    bj TerrainDeformationStopBJ(terraindeformation deformation, real duration) nothing
    bj GetLastCreatedTerrainDeformation(nothing) terraindeformation
    bj GetTerrainCliffLevelBJ(location where) integer
    bj SetWaterBaseColorBJ(real red, real green, real blue, real transparency) nothing
    bj CreateFogModifierRectSimple(player whichPlayer, fogstate whichFogState, rect r, boolean afterUnits) fogmodifier
    bj CreateFogModifierRadiusLocSimple(player whichPlayer, fogstate whichFogState, location center, real radius, boolean afterUnits) fogmodifier
    bj CreateFogModifierRectBJ(boolean enabled, player whichPlayer, fogstate whichFogState, rect r) fogmodifier
    bj CreateFogModifierRadiusLocBJ(boolean enabled, player whichPlayer, fogstate whichFogState, location center, real radius) fogmodifier
    bj GetLastCreatedFogModifier(nothing) fogmodifier
    bj FogEnableOn(nothing) nothing
    bj FogEnableOff(nothing) nothing
    bj FogMaskEnableOn(nothing) nothing
    bj FogMaskEnableOff(nothing) nothing
    bj UseTimeOfDayBJ(boolean flag) nothing
    bj SetTerrainFogExBJ(integer style, real zstart, real zend, real density, real red, real green, real blue) nothing
    bj ResetTerrainFogBJ(nothing) nothing
    bj SetDoodadAnimationBJ(string animName, integer doodadID, real radius, location center) nothing
    bj SetDoodadAnimationRectBJ(string animName, integer doodadID, rect r) nothing
    bj AddUnitAnimationPropertiesBJ(boolean add, string animProperties, unit whichUnit) nothing
    bj PlaySoundBJ(sound soundHandle) nothing
    bj StopSoundBJ(sound soundHandle, boolean fadeOut) nothing
    bj SetSoundVolumeBJ(sound soundHandle, real volumePercent) nothing
    bj SetSoundOffsetBJ(real newOffset, sound soundHandle) nothing
    bj SetSoundDistanceCutoffBJ(sound soundHandle, real cutoff) nothing
    bj SetSoundPitchBJ(sound soundHandle, real pitch) nothing
    bj SetSoundPositionLocBJ(sound soundHandle, location loc, real z) nothing
    bj AttachSoundToUnitBJ(sound soundHandle, unit whichUnit) nothing
    bj SetSoundConeAnglesBJ(sound soundHandle, real inside, real outside, real outsideVolumePercent) nothing
    bj KillSoundWhenDoneBJ(sound soundHandle) nothing
    bj PlaySoundAtPointBJ(sound soundHandle, real volumePercent, location loc, real z) nothing
    bj PlaySoundOnUnitBJ(sound soundHandle, real volumePercent, unit whichUnit) nothing
    bj PlaySoundFromOffsetBJ(sound soundHandle, real volumePercent, real startingOffset) nothing
    bj PlayMusicBJ(string musicFileName) nothing
    bj PlayMusicExBJ(string musicFileName, real startingOffset, real fadeInTime) nothing
    bj SetMusicOffsetBJ(real newOffset) nothing
    bj PlayThematicMusicBJ(string musicName) nothing
    bj PlayThematicMusicExBJ(string musicName, real startingOffset) nothing
    bj SetThematicMusicOffsetBJ(real newOffset) nothing
    bj EndThematicMusicBJ(nothing) nothing
    bj StopMusicBJ(boolean fadeOut) nothing
    bj ResumeMusicBJ(nothing) nothing
    bj SetMusicVolumeBJ(real volumePercent) nothing
    bj GetSoundDurationBJ(sound soundHandle) real
    bj GetSoundFileDurationBJ(string musicFileName) real
    bj GetLastPlayedSound(nothing) sound
    bj GetLastPlayedMusic(nothing) string
    bj VolumeGroupSetVolumeBJ(volumegroup vgroup, real percent) nothing
    bj SetCineModeVolumeGroupsImmediateBJ(nothing) nothing
    bj SetCineModeVolumeGroupsBJ(nothing) nothing
    bj SetSpeechVolumeGroupsImmediateBJ(nothing) nothing
    bj SetSpeechVolumeGroupsBJ(nothing) nothing
    bj VolumeGroupResetImmediateBJ(nothing) nothing
    bj VolumeGroupResetBJ(nothing) nothing
    bj GetSoundIsPlayingBJ(sound soundHandle) boolean
    bj WaitForSoundBJ(sound soundHandle, real offset) nothing
    bj SetMapMusicIndexedBJ(string musicName, integer index) nothing
    bj SetMapMusicRandomBJ(string musicName) nothing
    bj ClearMapMusicBJ(nothing) nothing
    bj SetStackedSoundBJ(boolean add, sound soundHandle, rect r) nothing
    bj StartSoundForPlayerBJ(player whichPlayer, sound soundHandle) nothing
    bj VolumeGroupSetVolumeForPlayerBJ(player whichPlayer, volumegroup vgroup, real scale) nothing
    bj EnableDawnDusk(boolean flag) nothing
    bj IsDawnDuskEnabled(nothing) boolean
    bj SetAmbientDaySound(string inLabel) nothing
    bj SetAmbientNightSound(string inLabel) nothing
    bj AddSpecialEffectLocBJ(location where, string modelName) effect
    bj AddSpecialEffectTargetUnitBJ(string attachPointName, widget targetWidget, string modelName) effect
    bj DestroyEffectBJ(effect whichEffect) nothing
    bj GetLastCreatedEffectBJ(nothing) effect
    bj GetItemLoc(item whichItem) location
    bj GetItemLifeBJ(widget whichWidget) real
    bj SetItemLifeBJ(widget whichWidget, real life) nothing
    bj AddHeroXPSwapped(integer xpToAdd, unit whichHero, boolean showEyeCandy) nothing
    bj SetHeroLevelBJ(unit whichHero, integer newLevel, boolean showEyeCandy) nothing
    bj UnitAddItemSwapped(item whichItem, unit whichHero) boolean
    bj UnitAddItemByIdSwapped(integer itemId, unit whichHero) item
    bj UnitRemoveItemSwapped(item whichItem, unit whichHero) nothing
    bj UnitRemoveItemFromSlotSwapped(integer itemSlot, unit whichHero) item
    bj CreateItemLoc(integer itemId, location loc) item
    bj GetLastCreatedItem(nothing) item
    bj GetLastRemovedItem(nothing) item
    bj SetItemPositionLoc(item whichItem, location loc) nothing
    bj GetLearnedSkillBJ(nothing) integer
    bj SuspendHeroXPBJ(boolean flag, unit whichHero) nothing
    bj SetPlayerHandicapXPBJ(player whichPlayer, real handicapPercent) nothing
    bj GetPlayerHandicapXPBJ(player whichPlayer) real
    bj SetPlayerHandicapBJ(player whichPlayer, real handicapPercent) nothing
    bj GetPlayerHandicapBJ(player whichPlayer) real
    bj GetHeroStatBJ(integer whichStat, unit whichHero, boolean includeBonuses) integer
    bj SetHeroStat(unit whichHero, integer whichStat, integer value) nothing
    bj ModifyHeroStat(integer whichStat, unit whichHero, integer modifyMethod, integer value) nothing
    bj ModifyHeroSkillPoints(unit whichHero, integer modifyMethod, integer value) boolean
    bj UnitUseItemDestructable(unit whichUnit, item whichItem, widget target) boolean
    bj UnitUseItemPointLoc(unit whichUnit, item whichItem, location loc) boolean
    bj UnitItemInSlotBJ(unit whichUnit, integer itemSlot) item
    bj GetInventoryIndexOfItemTypeBJ(unit whichUnit, integer itemId) integer
    bj GetItemOfTypeFromUnitBJ(unit whichUnit, integer itemId) item
    bj UnitHasItemOfTypeBJ(unit whichUnit, integer itemId) boolean
    bj SetItemInvulnerableBJ(item whichItem, boolean flag) nothing
    bj SetItemDropOnDeathBJ(item whichItem, boolean flag) nothing
    bj SetItemDroppableBJ(item whichItem, boolean flag) nothing
    bj SetItemPlayerBJ(item whichItem, player whichPlayer, boolean changeColor) nothing
    bj SetItemVisibleBJ(boolean show, item whichItem) nothing
    bj IsItemHiddenBJ(item whichItem) boolean
    bj ChooseRandomItemBJ(integer level) integer
    bj ChooseRandomItemExBJ(integer level, itemtype whichType) integer
    bj ChooseRandomNPBuildingBJ(nothing) integer
    bj ChooseRandomCreepBJ(integer level) integer
    bj EnumItemsInRectBJ(rect r, code actionFunc) nothing
    bj RandomItemInRectBJEnum(nothing) nothing
    bj RandomItemInRectBJ(rect r, boolexpr filter) item
    bj RandomItemInRectSimpleBJ(rect r) item
    bj CheckItemStatus(item whichItem, integer status) boolean
    bj CheckItemcodeStatus(integer itemId, integer status) boolean
    bj UnitId2OrderIdBJ(integer unitId) integer
    bj String2UnitIdBJ(string unitIdString) integer
    bj UnitId2StringBJ(integer unitId) string
    bj String2OrderIdBJ(string orderIdString) integer
    bj OrderId2StringBJ(integer orderId) string
    bj GetIssuedOrderIdBJ(nothing) integer
    bj GetKillingUnitBJ(nothing) unit
    bj CreateUnitAtLocSaveLast(player id, integer unitid, location loc, real face) unit
    bj GetLastCreatedUnit(nothing) unit
    bj CreateNUnitsAtLoc(integer count, integer unitId, player whichPlayer, location loc, real face) group
    bj CreateNUnitsAtLocFacingLocBJ(integer count, integer unitId, player whichPlayer, location loc, location lookAt) group
    bj GetLastCreatedGroupEnum(nothing) nothing
    bj GetLastCreatedGroup(nothing) group
    bj CreateCorpseLocBJ(integer unitid, player whichPlayer, location loc) unit
    bj UnitSuspendDecayBJ(boolean suspend, unit whichUnit) nothing
    bj DelayedSuspendDecayStopAnimEnum(nothing) nothing
    bj DelayedSuspendDecayBoneEnum(nothing) nothing
    bj DelayedSuspendDecayFleshEnum(nothing) nothing
    bj DelayedSuspendDecay(nothing) nothing
    bj DelayedSuspendDecayCreate(nothing) nothing
    bj CreatePermanentCorpseLocBJ(integer style, integer unitid, player whichPlayer, location loc, real facing) unit
    bj GetUnitStateSwap(unitstate whichState, unit whichUnit) real
    bj GetUnitStatePercent(unit whichUnit, unitstate whichState, unitstate whichMaxState) real
    bj GetUnitLifePercent(unit whichUnit) real
    bj GetUnitManaPercent(unit whichUnit) real
    bj SelectUnitSingle(unit whichUnit) nothing
    bj SelectGroupBJEnum(nothing) nothing
    bj SelectGroupBJ(group g) nothing
    bj SelectUnitAdd(unit whichUnit) nothing
    bj SelectUnitRemove(unit whichUnit) nothing
    bj ClearSelectionForPlayer(player whichPlayer) nothing
    bj SelectUnitForPlayerSingle(unit whichUnit, player whichPlayer) nothing
    bj SelectGroupForPlayerBJ(group g, player whichPlayer) nothing
    bj SelectUnitAddForPlayer(unit whichUnit, player whichPlayer) nothing
    bj SelectUnitRemoveForPlayer(unit whichUnit, player whichPlayer) nothing
    bj SetUnitLifeBJ(unit whichUnit, real newValue) nothing
    bj SetUnitManaBJ(unit whichUnit, real newValue) nothing
    bj SetUnitLifePercentBJ(unit whichUnit, real percent) nothing
    bj SetUnitManaPercentBJ(unit whichUnit, real percent) nothing
    bj IsUnitDeadBJ(unit whichUnit) boolean
    bj IsUnitAliveBJ(unit whichUnit) boolean
    bj IsUnitGroupDeadBJEnum(nothing) nothing
    bj IsUnitGroupDeadBJ(group g) boolean
    bj IsUnitGroupEmptyBJEnum(nothing) nothing
    bj IsUnitGroupEmptyBJ(group g) boolean
    bj IsUnitGroupInRectBJEnum(nothing) nothing
    bj IsUnitGroupInRectBJ(group g, rect r) boolean
    bj IsUnitHiddenBJ(unit whichUnit) boolean
    bj ShowUnitHide(unit whichUnit) nothing
    bj ShowUnitShow(unit whichUnit) nothing
    bj IssueHauntOrderAtLocBJFilter(nothing) boolean
    bj IssueHauntOrderAtLocBJ(unit whichPeon, location loc) boolean
    bj IssueBuildOrderByIdLocBJ(unit whichPeon, integer unitId, location loc) boolean
    bj IssueTrainOrderByIdBJ(unit whichUnit, integer unitId) boolean
    bj GroupTrainOrderByIdBJ(group g, integer unitId) boolean
    bj IssueUpgradeOrderByIdBJ(unit whichUnit, integer techId) boolean
    bj GetAttackedUnitBJ(nothing) unit
    bj SetUnitFlyHeightBJ(unit whichUnit, real newHeight, real rate) nothing
    bj SetUnitTurnSpeedBJ(unit whichUnit, real turnSpeed) nothing
    bj SetUnitPropWindowBJ(unit whichUnit, real propWindow) nothing
    bj GetUnitPropWindowBJ(unit whichUnit) real
    bj GetUnitDefaultPropWindowBJ(unit whichUnit) real
    bj SetUnitBlendTimeBJ(unit whichUnit, real blendTime) nothing
    bj SetUnitAcquireRangeBJ(unit whichUnit, real acquireRange) nothing
    bj UnitSetCanSleepBJ(unit whichUnit, boolean canSleep) nothing
    bj UnitCanSleepBJ(unit whichUnit) boolean
    bj UnitWakeUpBJ(unit whichUnit) nothing
    bj UnitIsSleepingBJ(unit whichUnit) boolean
    bj WakePlayerUnitsEnum(nothing) nothing
    bj WakePlayerUnits(player whichPlayer) nothing
    bj EnableCreepSleepBJ(boolean enable) nothing
    bj UnitGenerateAlarms(unit whichUnit, boolean generate) boolean
    bj DoesUnitGenerateAlarms(unit whichUnit) boolean
    bj PauseAllUnitsBJEnum(nothing) nothing
    bj PauseAllUnitsBJ(boolean pause) nothing
    bj PauseUnitBJ(boolean pause, unit whichUnit) nothing
    bj IsUnitPausedBJ(unit whichUnit) boolean
    bj UnitPauseTimedLifeBJ(boolean flag, unit whichUnit) nothing
    bj UnitApplyTimedLifeBJ(real duration, integer buffId, unit whichUnit) nothing
    bj UnitShareVisionBJ(boolean share, unit whichUnit, player whichPlayer) nothing
    bj UnitRemoveBuffsBJ(integer buffType, unit whichUnit) nothing
    bj UnitRemoveBuffsExBJ(integer polarity, integer resist, unit whichUnit, boolean bTLife, boolean bAura) nothing
    bj UnitCountBuffsExBJ(integer polarity, integer resist, unit whichUnit, boolean bTLife, boolean bAura) integer
    bj UnitRemoveAbilityBJ(integer abilityId, unit whichUnit) boolean
    bj UnitAddAbilityBJ(integer abilityId, unit whichUnit) boolean
    bj SetUnitExplodedBJ(unit whichUnit, boolean exploded) nothing
    bj ExplodeUnitBJ(unit whichUnit) nothing
    bj GetTransportUnitBJ(nothing) unit
    bj GetLoadedUnitBJ(nothing) unit
    bj IsUnitInTransportBJ(unit whichUnit, unit whichTransport) boolean
    bj IsUnitLoadedBJ(unit whichUnit) boolean
    bj IsUnitIllusionBJ(unit whichUnit) boolean
    bj ReplaceUnitBJ(unit whichUnit, integer newUnitId, integer unitStateMethod) unit
    bj GetLastReplacedUnitBJ(nothing) unit
    bj SetUnitPositionLocFacingBJ(unit whichUnit, location loc, real facing) nothing
    bj SetUnitPositionLocFacingLocBJ(unit whichUnit, location loc, location lookAt) nothing
    bj AddItemToStockBJ(integer itemId, unit whichUnit, integer currentStock, integer stockMax) nothing
    bj AddUnitToStockBJ(integer unitId, unit whichUnit, integer currentStock, integer stockMax) nothing
    bj RemoveItemFromStockBJ(integer itemId, unit whichUnit) nothing
    bj RemoveUnitFromStockBJ(integer unitId, unit whichUnit) nothing
    bj SetUnitUseFoodBJ(boolean enable, unit whichUnit) nothing
    bj CreateDestructableLoc(integer objectid, location loc, real facing, real scale, integer variation) destructable
    bj CreateDeadDestructableLocBJ(integer objectid, location loc, real facing, real scale, integer variation) destructable
    bj GetLastCreatedDestructable(nothing) destructable
    bj ShowDestructableBJ(boolean flag, destructable d) nothing
    bj SetDestructableInvulnerableBJ(destructable d, boolean flag) nothing
    bj IsDestructableInvulnerableBJ(destructable d) boolean
    bj GetDestructableLoc(destructable whichDestructable) location
    bj EnumDestructablesInRectAll(rect r, code actionFunc) nothing
    bj EnumDestructablesInCircleBJFilter(nothing) boolean
    bj IsDestructableDeadBJ(destructable d) boolean
    bj IsDestructableAliveBJ(destructable d) boolean
    bj RandomDestructableInRectBJEnum(nothing) nothing
    bj RandomDestructableInRectBJ(rect r, boolexpr filter) destructable
    bj RandomDestructableInRectSimpleBJ(rect r) destructable
    bj EnumDestructablesInCircleBJ(real radius, location loc, code actionFunc) nothing
    bj SetDestructableLifePercentBJ(destructable d, real percent) nothing
    bj SetDestructableMaxLifeBJ(destructable d, real max) nothing
    bj ModifyGateBJ(integer gateOperation, destructable d) nothing
    bj GetElevatorHeight(destructable d) integer
    bj ChangeElevatorHeight(destructable d, integer newHeight) nothing
    bj NudgeUnitsInRectEnum(nothing) nothing
    bj NudgeItemsInRectEnum(nothing) nothing
    bj NudgeObjectsInRect(rect nudgeArea) nothing
    bj NearbyElevatorExistsEnum(nothing) nothing
    bj NearbyElevatorExists(real x, real y) boolean
    bj FindElevatorWallBlockerEnum(nothing) nothing
    bj ChangeElevatorWallBlocker(real x, real y, real facing, boolean open) nothing
    bj ChangeElevatorWalls(boolean open, integer walls, destructable d) nothing
    bj WaygateActivateBJ(boolean activate, unit waygate) nothing
    bj WaygateIsActiveBJ(unit waygate) boolean
    bj WaygateSetDestinationLocBJ(unit waygate, location loc) nothing
    bj WaygateGetDestinationLocBJ(unit waygate) location
    bj UnitSetUsesAltIconBJ(boolean flag, unit whichUnit) nothing
    bj ForceUIKeyBJ(player whichPlayer, string key) nothing
    bj ForceUICancelBJ(player whichPlayer) nothing
    bj ForGroupBJ(group whichGroup, code callback) nothing
    bj GroupAddUnitSimple(unit whichUnit, group whichGroup) nothing
    bj GroupRemoveUnitSimple(unit whichUnit, group whichGroup) nothing
    bj GroupAddGroupEnum(nothing) nothing
    bj GroupAddGroup(group sourceGroup, group destGroup) nothing
    bj GroupRemoveGroupEnum(nothing) nothing
    bj GroupRemoveGroup(group sourceGroup, group destGroup) nothing
    bj ForceAddPlayerSimple(player whichPlayer, force whichForce) nothing
    bj ForceRemovePlayerSimple(player whichPlayer, force whichForce) nothing
    bj GroupPickRandomUnitEnum(nothing) nothing
    bj GroupPickRandomUnit(group whichGroup) unit
    bj ForcePickRandomPlayerEnum(nothing) nothing
    bj ForcePickRandomPlayer(force whichForce) player
    bj EnumUnitsSelected(player whichPlayer, boolexpr enumFilter, code enumAction) nothing
    bj GetUnitsInRectMatching(rect r, boolexpr filter) group
    bj GetUnitsInRectAll(rect r) group
    bj GetUnitsInRectOfPlayerFilter(nothing) boolean
    bj GetUnitsInRectOfPlayer(rect r, player whichPlayer) group
    bj GetUnitsInRangeOfLocMatching(real radius, location whichLocation, boolexpr filter) group
    bj GetUnitsInRangeOfLocAll(real radius, location whichLocation) group
    bj GetUnitsOfTypeIdAllFilter(nothing) boolean
    bj GetUnitsOfTypeIdAll(integer unitid) group
    bj GetUnitsOfPlayerMatching(player whichPlayer, boolexpr filter) group
    bj GetUnitsOfPlayerAll(player whichPlayer) group
    bj GetUnitsOfPlayerAndTypeIdFilter(nothing) boolean
    bj GetUnitsOfPlayerAndTypeId(player whichPlayer, integer unitid) group
    bj GetUnitsSelectedAll(player whichPlayer) group
    bj GetForceOfPlayer(player whichPlayer) force
    bj GetPlayersAll(nothing) force
    bj GetPlayersByMapControl(mapcontrol whichControl) force
    bj GetPlayersAllies(player whichPlayer) force
    bj GetPlayersEnemies(player whichPlayer) force
    bj GetPlayersMatching(boolexpr filter) force
    bj CountUnitsInGroupEnum(nothing) nothing
    bj CountUnitsInGroup(group g) integer
    bj CountPlayersInForceEnum(nothing) nothing
    bj CountPlayersInForceBJ(force f) integer
    bj GetRandomSubGroupEnum(nothing) nothing
    bj GetRandomSubGroup(integer count, group sourceGroup) group
    bj LivingPlayerUnitsOfTypeIdFilter(nothing) boolean
    bj CountLivingPlayerUnitsOfTypeId(integer unitId, player whichPlayer) integer
    bj ResetUnitAnimation(unit whichUnit) nothing
    bj SetUnitTimeScalePercent(unit whichUnit, real percentScale) nothing
    bj SetUnitScalePercent(unit whichUnit, real percentScaleX, real percentScaleY, real percentScaleZ) nothing
    bj SetUnitVertexColorBJ(unit whichUnit, real red, real green, real blue, real transparency) nothing
    bj UnitAddIndicatorBJ(unit whichUnit, real red, real green, real blue, real transparency) nothing
    bj DestructableAddIndicatorBJ(destructable whichDestructable, real red, real green, real blue, real transparency) nothing
    bj ItemAddIndicatorBJ(item whichItem, real red, real green, real blue, real transparency) nothing
    bj SetUnitFacingToFaceLocTimed(unit whichUnit, location target, real duration) nothing
    bj SetUnitFacingToFaceUnitTimed(unit whichUnit, unit target, real duration) nothing
    bj QueueUnitAnimationBJ(unit whichUnit, string whichAnimation) nothing
    bj SetDestructableAnimationBJ(destructable d, string whichAnimation) nothing
    bj QueueDestructableAnimationBJ(destructable d, string whichAnimation) nothing
    bj SetDestAnimationSpeedPercent(destructable d, real percentScale) nothing
    bj DialogDisplayBJ(boolean flag, dialog whichDialog, player whichPlayer) nothing
    bj DialogSetMessageBJ(dialog whichDialog, string message) nothing
    bj DialogAddButtonBJ(dialog whichDialog, string buttonText) button
    bj DialogAddButtonWithHotkeyBJ(dialog whichDialog, string buttonText, integer hotkey) button
    bj DialogClearBJ(dialog whichDialog) nothing
    bj GetLastCreatedButtonBJ(nothing) button
    bj GetClickedButtonBJ(nothing) button
    bj GetClickedDialogBJ(nothing) dialog
    bj SetPlayerAllianceBJ(player sourcePlayer, alliancetype whichAllianceSetting, boolean value, player otherPlayer) nothing
    bj SetPlayerAllianceStateAllyBJ(player sourcePlayer, player otherPlayer, boolean flag) nothing
    bj SetPlayerAllianceStateVisionBJ(player sourcePlayer, player otherPlayer, boolean flag) nothing
    bj SetPlayerAllianceStateControlBJ(player sourcePlayer, player otherPlayer, boolean flag) nothing
    bj SetPlayerAllianceStateFullControlBJ(player sourcePlayer, player otherPlayer, boolean flag) nothing
    bj SetPlayerAllianceStateBJ(player sourcePlayer, player otherPlayer, integer allianceState) nothing
    bj SetForceAllianceStateBJ(force sourceForce, force targetForce, integer allianceState) nothing
    bj PlayersAreCoAllied(player playerA, player playerB) boolean
    bj ShareEverythingWithTeamAI(player whichPlayer) nothing
    bj ShareEverythingWithTeam(player whichPlayer) nothing
    bj ConfigureNeutralVictim(nothing) nothing
    bj MakeUnitsPassiveForPlayerEnum(nothing) nothing
    bj MakeUnitsPassiveForPlayer(player whichPlayer) nothing
    bj MakeUnitsPassiveForTeam(player whichPlayer) nothing
    bj AllowVictoryDefeat(playergameresult gameResult) boolean
    bj EndGameBJ(nothing) nothing
    bj MeleeVictoryDialogBJ(player whichPlayer, boolean leftGame) nothing
    bj MeleeDefeatDialogBJ(player whichPlayer, boolean leftGame) nothing
    bj GameOverDialogBJ(player whichPlayer, boolean leftGame) nothing
    bj RemovePlayerPreserveUnitsBJ(player whichPlayer, playergameresult gameResult, boolean leftGame) nothing
    bj CustomVictoryOkBJ(nothing) nothing
    bj CustomVictoryQuitBJ(nothing) nothing
    bj CustomVictoryDialogBJ(player whichPlayer) nothing
    bj CustomVictorySkipBJ(player whichPlayer) nothing
    bj CustomVictoryBJ(player whichPlayer, boolean showDialog, boolean showScores) nothing
    bj CustomDefeatRestartBJ(nothing) nothing
    bj CustomDefeatReduceDifficultyBJ(nothing) nothing
    bj CustomDefeatLoadBJ(nothing) nothing
    bj CustomDefeatQuitBJ(nothing) nothing
    bj CustomDefeatDialogBJ(player whichPlayer, string message) nothing
    bj CustomDefeatBJ(player whichPlayer, string message) nothing
    bj SetNextLevelBJ(string nextLevel) nothing
    bj SetPlayerOnScoreScreenBJ(boolean flag, player whichPlayer) nothing
    bj CreateQuestBJ(integer questType, string title, string description, string iconPath) quest
    bj DestroyQuestBJ(quest whichQuest) nothing
    bj QuestSetEnabledBJ(boolean enabled, quest whichQuest) nothing
    bj QuestSetTitleBJ(quest whichQuest, string title) nothing
    bj QuestSetDescriptionBJ(quest whichQuest, string description) nothing
    bj QuestSetCompletedBJ(quest whichQuest, boolean completed) nothing
    bj QuestSetFailedBJ(quest whichQuest, boolean failed) nothing
    bj QuestSetDiscoveredBJ(quest whichQuest, boolean discovered) nothing
    bj GetLastCreatedQuestBJ(nothing) quest
    bj CreateQuestItemBJ(quest whichQuest, string description) questitem
    bj QuestItemSetDescriptionBJ(questitem whichQuestItem, string description) nothing
    bj QuestItemSetCompletedBJ(questitem whichQuestItem, boolean completed) nothing
    bj GetLastCreatedQuestItemBJ(nothing) questitem
    bj CreateDefeatConditionBJ(string description) defeatcondition
    bj DestroyDefeatConditionBJ(defeatcondition whichCondition) nothing
    bj DefeatConditionSetDescriptionBJ(defeatcondition whichCondition, string description) nothing
    bj GetLastCreatedDefeatConditionBJ(nothing) defeatcondition
    bj FlashQuestDialogButtonBJ(nothing) nothing
    bj QuestMessageBJ(force f, integer messageType, string message) nothing
    bj StartTimerBJ(timer t, boolean periodic, real timeout) timer
    bj CreateTimerBJ(boolean periodic, real timeout) timer
    bj DestroyTimerBJ(timer whichTimer) nothing
    bj PauseTimerBJ(boolean pause, timer whichTimer) nothing
    bj GetLastCreatedTimerBJ(nothing) timer
    bj CreateTimerDialogBJ(timer t, string title) timerdialog
    bj DestroyTimerDialogBJ(timerdialog td) nothing
    bj TimerDialogSetTitleBJ(timerdialog td, string title) nothing
    bj TimerDialogSetTitleColorBJ(timerdialog td, real red, real green, real blue, real transparency) nothing
    bj TimerDialogSetTimeColorBJ(timerdialog td, real red, real green, real blue, real transparency) nothing
    bj TimerDialogSetSpeedBJ(timerdialog td, real speedMultFactor) nothing
    bj TimerDialogDisplayForPlayerBJ(boolean show, timerdialog td, player whichPlayer) nothing
    bj TimerDialogDisplayBJ(boolean show, timerdialog td) nothing
    bj GetLastCreatedTimerDialogBJ(nothing) timerdialog
    bj LeaderboardResizeBJ(leaderboard lb) nothing
    bj LeaderboardSetPlayerItemValueBJ(player whichPlayer, leaderboard lb, integer val) nothing
    bj LeaderboardSetPlayerItemLabelBJ(player whichPlayer, leaderboard lb, string val) nothing
    bj LeaderboardSetPlayerItemStyleBJ(player whichPlayer, leaderboard lb, boolean showLabel, boolean showValue, boolean showIcon) nothing
    bj LeaderboardSetPlayerItemLabelColorBJ(player whichPlayer, leaderboard lb, real red, real green, real blue, real transparency) nothing
    bj LeaderboardSetPlayerItemValueColorBJ(player whichPlayer, leaderboard lb, real red, real green, real blue, real transparency) nothing
    bj LeaderboardSetLabelColorBJ(leaderboard lb, real red, real green, real blue, real transparency) nothing
    bj LeaderboardSetValueColorBJ(leaderboard lb, real red, real green, real blue, real transparency) nothing
    bj LeaderboardSetLabelBJ(leaderboard lb, string label) nothing
    bj LeaderboardSetStyleBJ(leaderboard lb, boolean showLabel, boolean showNames, boolean showValues, boolean showIcons) nothing
    bj LeaderboardGetItemCountBJ(leaderboard lb) integer
    bj LeaderboardHasPlayerItemBJ(leaderboard lb, player whichPlayer) boolean
    bj ForceSetLeaderboardBJ(leaderboard lb, force toForce) nothing
    bj CreateLeaderboardBJ(force toForce, string label) leaderboard
    bj DestroyLeaderboardBJ(leaderboard lb) nothing
    bj LeaderboardDisplayBJ(boolean show, leaderboard lb) nothing
    bj LeaderboardAddItemBJ(player whichPlayer, leaderboard lb, string label, integer value) nothing
    bj LeaderboardRemovePlayerItemBJ(player whichPlayer, leaderboard lb) nothing
    bj LeaderboardSortItemsBJ(leaderboard lb, integer sortType, boolean ascending) nothing
    bj LeaderboardSortItemsByPlayerBJ(leaderboard lb, boolean ascending) nothing
    bj LeaderboardSortItemsByLabelBJ(leaderboard lb, boolean ascending) nothing
    bj LeaderboardGetPlayerIndexBJ(player whichPlayer, leaderboard lb) integer
    bj LeaderboardGetIndexedPlayerBJ(integer position, leaderboard lb) player
    bj PlayerGetLeaderboardBJ(player whichPlayer) leaderboard
    bj GetLastCreatedLeaderboard(nothing) leaderboard
    bj MultiboardAllowDisplayBJ(boolean flag) nothing
    bj TextTagSize2Height(real size) real
    bj TextTagSpeed2Velocity(real speed) real
    bj SetTextTagColorBJ(texttag tt, real red, real green, real blue, real transparency) nothing
    bj CreateTextTagLocBJ(string s, location loc, real zOffset, real size, real red, real green, real blue, real transparency) texttag
    bj CreateTextTagUnitBJ(string s, unit whichUnit, real zOffset, real size, real red, real green, real blue, real transparency) texttag
    bj DestroyTextTagBJ(texttag tt) nothing
    bj SetTextTagVelocityBJ(texttag tt, real speed, real angle) nothing
    bj ShowTextTagForceBJ(boolean show, texttag tt, force whichForce) nothing
    bj GetLastCreatedTextTag(nothing) texttag
    bj PauseGameOn(nothing) nothing
    bj PauseGameOff(nothing) nothing
    bj SetUserControlForceOn(force whichForce) nothing
    bj SetUserControlForceOff(force whichForce) nothing
    bj ShowInterfaceForceOn(force whichForce, real fadeDuration) nothing
    bj ShowInterfaceForceOff(force whichForce, real fadeDuration) nothing
    bj PingMinimapForForce(force whichForce, real x, real y, real duration) nothing
    bj PingMinimapLocForForce(force whichForce, location loc, real duration) nothing
    bj PingMinimapForPlayer(player whichPlayer, real x, real y, real duration) nothing
    bj PingMinimapLocForPlayer(player whichPlayer, location loc, real duration) nothing
    bj PingMinimapForForceEx(force whichForce, real x, real y, real duration, integer style, real red, real green, real blue) nothing
    bj PingMinimapLocForForceEx(force whichForce, location loc, real duration, integer style, real red, real green, real blue) nothing
    bj EnableWorldFogBoundaryBJ(boolean enable, force f) nothing
    bj EnableOcclusionBJ(boolean enable, force f) nothing
    bj CancelCineSceneBJ(nothing) nothing
    bj TryInitCinematicBehaviorBJ(nothing) nothing
    bj SetCinematicSceneBJ(sound soundHandle, integer portraitUnitId, playercolor color, string speakerTitle, string text, real sceneDuration, real voiceoverDuration) nothing
    bj GetTransmissionDuration(sound soundHandle, integer timeType, real timeVal) real
    bj WaitTransmissionDuration(sound soundHandle, integer timeType, real timeVal) nothing
    bj DoTransmissionBasicsXYBJ(integer unitId, playercolor color, real x, real y, sound soundHandle, string unitName, string message, real duration) nothing
    bj TransmissionFromUnitWithNameBJ(force toForce, unit whichUnit, string unitName, sound soundHandle, string message, integer timeType, real timeVal, boolean wait) nothing
    bj TransmissionFromUnitTypeWithNameBJ(force toForce, player fromPlayer, integer unitId, string unitName, location loc, sound soundHandle, string message, integer timeType, real timeVal, boolean wait) nothing
    bj GetLastTransmissionDurationBJ(nothing) real
    bj ForceCinematicSubtitlesBJ(boolean flag) nothing
    bj CinematicModeExBJ(boolean cineMode, force forForce, real interfaceFadeTime) nothing
    bj CinematicModeBJ(boolean cineMode, force forForce) nothing
    bj DisplayCineFilterBJ(boolean flag) nothing
    bj CinematicFadeCommonBJ(real red, real green, real blue, real duration, string tex, real startTrans, real endTrans) nothing
    bj FinishCinematicFadeBJ(nothing) nothing
    bj FinishCinematicFadeAfterBJ(real duration) nothing
    bj ContinueCinematicFadeBJ(nothing) nothing
    bj ContinueCinematicFadeAfterBJ(real duration, real red, real green, real blue, real trans, string tex) nothing
    bj AbortCinematicFadeBJ(nothing) nothing
    bj CinematicFadeBJ(integer fadetype, real duration, string tex, real red, real green, real blue, real trans) nothing
    bj CinematicFilterGenericBJ(real duration, blendmode bmode, string tex, real red0, real green0, real blue0, real trans0, real red1, real green1, real blue1, real trans1) nothing
    bj RescueUnitBJ(unit whichUnit, player rescuer, boolean changeColor) nothing
    bj TriggerActionUnitRescuedBJ(nothing) nothing
    bj TryInitRescuableTriggersBJ(nothing) nothing
    bj SetRescueUnitColorChangeBJ(boolean changeColor) nothing
    bj SetRescueBuildingColorChangeBJ(boolean changeColor) nothing
    bj MakeUnitRescuableToForceBJEnum(nothing) nothing
    bj MakeUnitRescuableToForceBJ(unit whichUnit, boolean isRescuable, force whichForce) nothing
    bj InitRescuableBehaviorBJ(nothing) nothing
    bj SetPlayerTechResearchedSwap(integer techid, integer levels, player whichPlayer) nothing
    bj SetPlayerTechMaxAllowedSwap(integer techid, integer maximum, player whichPlayer) nothing
    bj SetPlayerMaxHeroesAllowed(integer maximum, player whichPlayer) nothing
    bj GetPlayerTechCountSimple(integer techid, player whichPlayer) integer
    bj GetPlayerTechMaxAllowedSwap(integer techid, player whichPlayer) integer
    bj SetPlayerAbilityAvailableBJ(boolean avail, integer abilid, player whichPlayer) nothing
    bj SetCampaignMenuRaceBJ(integer campaignNumber) nothing
    bj SetMissionAvailableBJ(boolean available, integer missionIndex) nothing
    bj SetCampaignAvailableBJ(boolean available, integer campaignNumber) nothing
    bj SetCinematicAvailableBJ(boolean available, integer cinematicIndex) nothing
    bj InitGameCacheBJ(string campaignFile) gamecache
    bj SaveGameCacheBJ(gamecache cache) boolean
    bj GetLastCreatedGameCacheBJ(nothing) gamecache
    bj StoreRealBJ(real value, string key, string missionKey, gamecache cache) nothing
    bj StoreIntegerBJ(integer value, string key, string missionKey, gamecache cache) nothing
    bj StoreBooleanBJ(boolean value, string key, string missionKey, gamecache cache) nothing
    bj StoreStringBJ(string value, string key, string missionKey, gamecache cache) boolean
    bj StoreUnitBJ(unit whichUnit, string key, string missionKey, gamecache cache) boolean
    bj GetStoredRealBJ(string key, string missionKey, gamecache cache) real
    bj GetStoredIntegerBJ(string key, string missionKey, gamecache cache) integer
    bj GetStoredBooleanBJ(string key, string missionKey, gamecache cache) boolean
    bj GetStoredStringBJ(string key, string missionKey, gamecache cache) string
    bj RestoreUnitLocFacingAngleBJ(string key, string missionKey, gamecache cache, player forWhichPlayer, location loc, real facing) unit
    bj RestoreUnitLocFacingPointBJ(string key, string missionKey, gamecache cache, player forWhichPlayer, location loc, location lookAt) unit
    bj GetLastRestoredUnitBJ(nothing) unit
    bj FlushGameCacheBJ(gamecache cache) nothing
    bj FlushStoredMissionBJ(string missionKey, gamecache cache) nothing
    bj HaveStoredValue(string key, integer valueType, string missionKey, gamecache cache) boolean
    bj ShowCustomCampaignButton(boolean show, integer whichButton) nothing
    bj IsCustomCampaignButtonVisibile(integer whichButton) boolean
    bj LoadGameBJ(string loadFileName, boolean doScoreScreen) nothing
    bj SaveAndChangeLevelBJ(string saveFileName, string newLevel, boolean doScoreScreen) nothing
    bj SaveAndLoadGameBJ(string saveFileName, string loadFileName, boolean doScoreScreen) nothing
    bj RenameSaveDirectoryBJ(string sourceDirName, string destDirName) boolean
    bj RemoveSaveDirectoryBJ(string sourceDirName) boolean
    bj CopySaveGameBJ(string sourceSaveName, string destSaveName) boolean
    bj GetPlayerStartLocationX(player whichPlayer) real
    bj GetPlayerStartLocationY(player whichPlayer) real
    bj GetPlayerStartLocationLoc(player whichPlayer) location
    bj GetRectCenter(rect whichRect) location
    bj IsPlayerSlotState(player whichPlayer, playerslotstate whichState) boolean
    bj GetFadeFromSeconds(real seconds) integer
    bj AdjustPlayerStateSimpleBJ(player whichPlayer, playerstate whichPlayerState, integer delta) nothing
    bj AdjustPlayerStateBJ(integer delta, player whichPlayer, playerstate whichPlayerState) nothing
    bj SetPlayerStateBJ(player whichPlayer, playerstate whichPlayerState, integer value) nothing
    bj SetPlayerFlagBJ(playerstate whichPlayerFlag, boolean flag, player whichPlayer) nothing
    bj IsPlayerFlagSetBJ(playerstate whichPlayerFlag, player whichPlayer) boolean
    bj AddResourceAmountBJ(integer delta, unit whichUnit) nothing
    bj GetConvertedPlayerId(player whichPlayer) integer
    bj ConvertedPlayer(integer convertedPlayerId) player
    bj GetRectWidthBJ(rect r) real
    bj GetRectHeightBJ(rect r) real
    bj BlightGoldMineForPlayerBJ(unit goldMine, player whichPlayer) unit
    bj BlightGoldMineForPlayer(unit goldMine, player whichPlayer) unit
    bj GetLastHauntedGoldMine(nothing) unit
    bj SetPlayerColorBJEnum(nothing) nothing
    bj SetPlayerColorBJ(player whichPlayer, playercolor color, boolean changeExisting) nothing
    bj SetPlayerUnitAvailableBJ(integer unitId, boolean allowed, player whichPlayer) nothing
    bj LockGameSpeedBJ(nothing) nothing
    bj UnlockGameSpeedBJ(nothing) nothing
    bj IssueTargetOrderBJ(unit whichUnit, string order, widget targetWidget) boolean
    bj IssuePointOrderLocBJ(unit whichUnit, string order, location whichLocation) boolean
    bj IssueTargetDestructableOrder(unit whichUnit, string order, widget targetWidget) boolean
    bj IssueImmediateOrderBJ(unit whichUnit, string order) boolean
    bj GroupTargetOrderBJ(group whichGroup, string order, widget targetWidget) boolean
    bj GroupPointOrderLocBJ(group whichGroup, string order, location whichLocation) boolean
    bj GroupImmediateOrderBJ(group whichGroup, string order) boolean
    bj GroupTargetDestructableOrder(group whichGroup, string order, widget targetWidget) boolean
    bj GetDyingDestructable(nothing) destructable
    bj SaveDyingWidget(nothing) nothing
    bj SetBlightRectBJ(boolean addBlight, player whichPlayer, rect r) nothing
    bj SetBlightRadiusLocBJ(boolean addBlight, player whichPlayer, location loc, real radius) nothing
    bj MeleeStartingVisibility(nothing) nothing
    bj MeleeStartingResources(nothing) nothing
    bj ReducePlayerTechMaxAllowed(player whichPlayer, integer techId, integer limit) nothing
    bj MeleeStartingHeroLimit(nothing) nothing
    bj MeleeTrainedUnitIsHeroBJFilter(nothing) boolean
    bj MeleeGrantItemsToHero(unit whichUnit) nothing
    bj MeleeGrantItemsToTrainedHero(nothing) nothing
    bj MeleeGrantItemsToHiredHero(nothing) nothing
    bj MeleeGrantHeroItems(nothing) nothing
    bj MeleeClearExcessUnit(nothing) nothing
    bj MeleeClearNearbyUnits(real x, real y, real range) nothing
    bj MeleeClearExcessUnits(nothing) nothing
    bj MeleeEnumFindNearestMine(nothing) nothing
    bj MeleeFindNearestMine(location src, real range) unit
    bj MeleeRandomHeroLoc(player p, integer id1, integer id2, integer id3, integer id4, location loc) unit
    bj MeleeGetProjectedLoc(location src, location targ, real distance, real deltaAngle) location
    bj MeleeGetNearestValueWithin(real val, real minVal, real maxVal) real
    bj MeleeGetLocWithinRect(location src, rect r) location
    bj MeleeStartingUnitsHuman(player whichPlayer, location startLoc, boolean doHeroes, boolean doCamera, boolean doPreload) nothing
    bj MeleeStartingUnitsOrc(player whichPlayer, location startLoc, boolean doHeroes, boolean doCamera, boolean doPreload) nothing
    bj MeleeStartingUnitsUndead(player whichPlayer, location startLoc, boolean doHeroes, boolean doCamera, boolean doPreload) nothing
    bj MeleeStartingUnitsNightElf(player whichPlayer, location startLoc, boolean doHeroes, boolean doCamera, boolean doPreload) nothing
    bj MeleeStartingUnitsUnknownRace(player whichPlayer, location startLoc, boolean doHeroes, boolean doCamera, boolean doPreload) nothing
    bj MeleeStartingUnits(nothing) nothing
    bj MeleeStartingUnitsForPlayer(race whichRace, player whichPlayer, location loc, boolean doHeroes) nothing
    bj PickMeleeAI(player num, string s1, string s2, string s3) nothing
    bj MeleeStartingAI(nothing) nothing
    bj LockGuardPosition(unit targ) nothing
    bj MeleePlayerIsOpponent(integer playerIndex, integer opponentIndex) boolean
    bj MeleeGetAllyStructureCount(player whichPlayer) integer
    bj MeleeGetAllyCount(player whichPlayer) integer
    bj MeleeGetAllyKeyStructureCount(player whichPlayer) integer
    bj MeleeDoDrawEnum(nothing) nothing
    bj MeleeDoVictoryEnum(nothing) nothing
    bj MeleeDoDefeat(player whichPlayer) nothing
    bj MeleeDoDefeatEnum(nothing) nothing
    bj MeleeDoLeave(player whichPlayer) nothing
    bj MeleeRemoveObservers(nothing) nothing
    bj MeleeCheckForVictors(nothing) force
    bj MeleeCheckForLosersAndVictors(nothing) nothing
    bj MeleeGetCrippledWarningMessage(player whichPlayer) string
    bj MeleeGetCrippledTimerMessage(player whichPlayer) string
    bj MeleeGetCrippledRevealedMessage(player whichPlayer) string
    bj MeleeExposePlayer(player whichPlayer, boolean expose) nothing
    bj MeleeExposeAllPlayers(nothing) nothing
    bj MeleeCrippledPlayerTimeout(nothing) nothing
    bj MeleePlayerIsCrippled(player whichPlayer) boolean
    bj MeleeCheckForCrippledPlayers(nothing) nothing
    bj MeleeCheckLostUnit(unit lostUnit) nothing
    bj MeleeCheckAddedUnit(unit addedUnit) nothing
    bj MeleeTriggerActionConstructCancel(nothing) nothing
    bj MeleeTriggerActionUnitDeath(nothing) nothing
    bj MeleeTriggerActionUnitConstructionStart(nothing) nothing
    bj MeleeTriggerActionPlayerDefeated(nothing) nothing
    bj MeleeTriggerActionPlayerLeft(nothing) nothing
    bj MeleeTriggerActionAllianceChange(nothing) nothing
    bj MeleeTriggerTournamentFinishSoon(nothing) nothing
    bj MeleeWasUserPlayer(player whichPlayer) boolean
    bj MeleeTournamentFinishNowRuleA(integer multiplier) nothing
    bj MeleeTriggerTournamentFinishNow(nothing) nothing
    bj MeleeInitVictoryDefeat(nothing) nothing
    bj CheckInitPlayerSlotAvailability(nothing) nothing
    bj SetPlayerSlotAvailable(player whichPlayer, mapcontrol control) nothing
    bj TeamInitPlayerSlots(integer teamCount) nothing
    bj MeleeInitPlayerSlots(nothing) nothing
    bj FFAInitPlayerSlots(nothing) nothing
    bj OneOnOneInitPlayerSlots(nothing) nothing
    bj InitGenericPlayerSlots(nothing) nothing
    bj SetDNCSoundsDawn(nothing) nothing
    bj SetDNCSoundsDusk(nothing) nothing
    bj SetDNCSoundsDay(nothing) nothing
    bj SetDNCSoundsNight(nothing) nothing
    bj InitDNCSounds(nothing) nothing
    bj InitBlizzardGlobals(nothing) nothing
    bj InitQueuedTriggers(nothing) nothing
    bj InitMapRects(nothing) nothing
    bj InitSummonableCaps(nothing) nothing
    bj UpdateStockAvailability(item whichItem) nothing
    bj UpdateEachStockBuildingEnum(nothing) nothing
    bj UpdateEachStockBuilding(itemtype iType, integer iLevel) nothing
    bj PerformStockUpdates(nothing) nothing
    bj StartStockUpdates(nothing) nothing
    bj RemovePurchasedItem(nothing) nothing
    bj InitNeutralBuildings(nothing) nothing
    bj MarkGameStarted(nothing) nothing
    bj DetectGameStarted(nothing) nothing
    bj InitBlizzard(nothing) nothing
    bj RandomDistReset(nothing) nothing
    bj RandomDistAddItem(integer inID, integer inChance) nothing
    bj RandomDistChoose(nothing) integer
    bj UnitDropItem(unit inUnit, integer inItemID) item
    bj WidgetDropItem(widget inWidget, integer inItemID) item
  </BJs>
  <Types>
    nothing
    boolean
    code
    handle
    integer
    real
    string
    aidifficulty
    alliancetype
    attacktype
    blendmode
    boolexpr
    buff
    button
    camerafield
    camerasetup
    conditionfunc
    damagetype
    defeatcondition
    destructable
    dialog
    dialogevent
    effect
    effecttype
    event
    eventid
    fgamestate
    filterfunc
    fogmodifier
    fogstate
    force
    gamecache
    gamedifficulty
    gameevent
    gamespeed
    gamestate
    gametype
    group
    igamestate
    image
    item
    itempool
    itemtype
    leaderboard
    lightning
    limitop
    location
    mapcontrol
    mapdensity
    mapflag
    mapsetting
    mapvisibility
    multiboard
    multiboarditem
    pathingtype
    placement
    player
    playercolor
    playerevent
    playergameresult
    playerscore
    playerslotstate
    playerstate
    playerunitevent
    quest
    questitem
    race
    racepreference
    raritycontrol
    rect
    region
    sound
    soundtype
    startlocprio
    terraindeformation
    texmapflags
    texttag
    timer
    timerdialog
    trackable
    trigger
    triggeraction
    triggercondition
    ubersplat
    unit
    unitevent
    unitpool
    unitstate
    unittype
    version
    volumegroup
    weapontype
    weathereffect
    widget
    widgetevent
  </Types>
</Jass>